Щомісячні архіви: Квітень 2013

Швидкий і простий: Перемістити прямокутник, використовуючи C# в App Windows Store

Моя філософія загальний блог в тому, що це прекрасно, щоб блог про старого, оселилися предмети, що були покриті до смерті в іншому місці.  Я припускаю, що ця тема є одним з тих, але я веду блог це все одно.

Я працюю на вікна магазин app і я на частини, де мені потрібно зробити деякі анімації.  З цією метою, Я був з'ясувати біти і шматки windows магазин app анімації якого, як виявилося, Це досить близько до, але не зовсім як, На основі XAML анімації в .NET (Я ще прийшли в боротьбу з тим, що WinRT <> .NET 🙂 ).

Сьогодні вранці я хотів би отримати ручку перетягнути і падіння операцій.  По дорозі в які, Я отримав загрузли замість переміщення прямокутник :).  Ось код, що рухається прямокутник, коли користувач натискає кнопку:

   1:   
   2:              MatrixTransform ct = (MatrixTransform)rectBig.RenderTransform;
   3:              Матриці м = ct.Матриця;
   4:              m.OffsetX   = 10;
   5:              m.OffsetY   = 10;
   6:              CT.Матриця = m;
   7:              rectBig.RenderTransform = ct;

Хитрість тут в тому, що я не можна безпосередньо змінити OffsetX або OffsetY.  Там може бути більш розумний спосіб зробити це (і якщо ви знаєте і відчувати себе, як, будь ласка, напишіть в коментарях). 

Для того, щоб зробити це, Мені потрібно, щоб:

1. Отримати MatrixTransform прямокутник (методом лиття RenderTransform).

2. Отримати матриці того хлопця.

3. Змінити на матриці зміщення.

4. Перепризначити матриця повернутися до на MatrixTransform.

5. Перепризначити MatrixTransform повернутися до прямокутник.

Перевірити це, Я поклав прямокутник і кнопки екрану. Коли я натискаю кнопку, вище логіка виконує і переміщається прямокутника відразу.

В деякій точці, Я хотів би оживити це, але я поняття не маю, як отримати DoubleAnimation для роботи на ньому (Storyboard.SetTargetProperty() в даний час для мене загадка з цього питання за час).

</кінець>

undefinedПідписатися на мій блог.

Йди за мною на Twitter в http://www.twitter.com/pagalvin

Налаштування висоти ListboxItems в на елемент програмним способом для Windows магазин App

Я працюю над windows store застосування і одна з речей, які я хочу зробити у програмі відобразити журнал, який показує повідомлення про стан та інші інформаційні пікантні, як користувач працює речей. З цією метою, Я додав до списку наступним чином:

<Список x:Ім'я ="GameStateLog" HorizontalAlignment ="Центр" Висота ="221" VerticalAlignment ="Топ" Ширина ="499" Оббивка ="0" FontSize ="10">

 

На код c# для заповнення елемента під час виконання було уздовж ліній:

GameStateLog.Items.Insert(0, GameStateCounter     + ": Нова гра держава: очікування на гравця 1 Ім’я");

Це розробив штрафу достатньо, але UI показав божевільні кількість оббивка навколо окремі повідомлення, як вони були додані. Це має сенс, якщо кінцеві користувачі повинні мати можливість виділити ці елементи, але не має сенсу коли я просто хочу, щоб показати Запуск серії журналу повідомлень-користувачів не буде виділити дані, просто переглядати їх. Це було дивно важко знайти легкий спосіб зробити це і, як я знайшов його не обов'язково "легко", але я отримав це працює ОК. Ключові розуміння прийшли за це проводки Тут (http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/c4a6f694-bd46-4779-ab83-b1c2fcb2397c) з Боб Relyea. Замість того, щоб додати рядки на колекції елементів на список множинний, додати ListBoxItems. Додавши рядок, Список множинний було створення власного ListBoxItem на власний. Я не зміг вплинути на що-небудь про це ListBoxItem після факту. Новий код:

        приватні недійсними AddGameStateLogMessage(рядок theMessage)
        {
            Лі ListBoxItem = нові ListBoxItem();
            Лі.Вмісту = theMessage;
            Лі.MaxHeight = 25;

            Товщина thisPadding = нові Товщина(5, 0, 5, 0);
            Лі.Оббивка = thisPadding;

            GameStateLog.Items.Insert(0,Лі);
        }

 

Тут я створюю ListBoxItem та їх Вставка. Я видалив надлишок оббивка, встановивши його товщина.

Це досить гнучким, тому що я маю намір зробити деякі колірне кодування для виділення певної типи повідомлень і додавши безпосередньо ListBoxItems я отримую стиль їх будь-яким чином я хочу.

Сподіваюся, це допоможе хтось!

</кінець>

undefinedПідписатися на мій блог.

Йди за мною на Twitter в http://www.twitter.com/pagalvin