Категория Архивы: Магазин Windows

Быстро и легко: Задать размер элементов в поле со списком в App Windows Store

В приложении Магазина Windows я создаю, Я хочу показать пользователю различные информационные сообщения.  Я выбрал ListBox как средство, чтобы показать его, так что они могут прокручивать их и все, что хорошие вещи. 

Только будут информационные сообщения, так что нет необходимости предоставлять все лишние пробелы вокруг них, так как пользователь не может выбрать их для что-нибыдь.  Поведение по умолчанию ListBox предоставляет значительное количество заполнения, и я хотел, чтобы избавиться от него.  Ну.... Вы не можете сделать такого рода вещи на ListBox непосредственно.  ОДНАКО, Вы можете сделать это на элементы, которые вы добавляете:

        частные void AddGameStateLogMessage(Строка theMessage)
        {
            TextBox t = Новые функции Текстовое поле();
            t.Text = GameStateCounter    + ": " + theMessage;
            t.TextWrapping = TextWrapping.Wrap;
            t.MinWidth = 400;
            Толщина thisPadding = Новые функции Толщина(5, 0, 5, 0);
            t.Padding = thisPadding;
            t.FontSize = 12;

            ListBoxItem li = Новые функции ListBoxItem();
            Li.Содержание = t;
            Li.MaxHeight = 25;
            thisPadding = Новые функции Толщина(5, 0, 5, 0);
            Li.Заполнение = thisPadding;

            GameStateLog.Items.Insert(0,ли);
        }

в приведенном выше, Я создание TextBox и установив его шрифт, ее заполнения, и т.д..

Следующая, Я создаю объект ListBoxItem и задать ее содержимое в формате текстовое поле.

Наконец, Я вставить ListBoxItem в ListBox.  (Я хочу показать последние сообщения в верхней части списка, Отсюда Вставка(0,ли) вместо простой добавить() вызов.).

Я будет настройки это немного прежде, чем я очень счастлива с ListBox поведение но шаблона, показанного выше было весьма плодотворным.  Надеюсь кто-то другой считает полезным.

</конец>

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

Следуй за мной по щебетать на http://www.twitter.com/pagalvin

Быстро и легко: Перемещение прямоугольника с помощью C# в App Windows Store

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

Я работаю на окне магазина app и я на части, где мне нужно сделать некоторые анимации.  С этой целью, Я выяснить, биты и куски windows хранить анимации app который, как выясняется, довольно близко к, но не совсем как, Анимации на основе XAML в .NET (Я до сих пор прихожу в борьбу с тем, что WinRT <> .NET 🙂 ).

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

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

Хитрость тут в том, что я не могу изменить непосредственно OffsetX и OffsetY.  Там может быть более умный способ сделать это (и если вы знаете и чувствовать себя, как, Пожалуйста, пост в комментариях). 

Чтобы сделать это, Мне нужно:

1. Получить MatrixTransform прямоугольника (путем приведения RenderTransform).

2. Получить матрицу что парень.

3. Изменение смещения матрицы.

4. Переназначить матрицы обратно в MatrixTransform.

5. Переназначить MatrixTransform обратно в прямоугольник.

Чтобы проверить его, Я положил прямоугольник и кнопку экрана. Когда я нажмите кнопку, выше логика выполняет и перемещает прямоугольник немедленно.

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

</конец>

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

Следуй за мной по щебетать на http://www.twitter.com/pagalvin

Программная настройка высоты ListboxItems в элементе управления ListBox для Windows Store App

Я работаю на приложения Магазина windows и одна из вещей, которые я хочу сделать в приложении является отображение журнала, который показывает сообщения о состоянии и других информационных лакомые кусочки, как пользователь работает вещи. С этой целью, Я добавил ListBox следующим:

<ListBox 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) от Bob Релайея. Вместо добавления строк к коллекции элементов ListBox, Добавить ListBoxItems. Путем добавления строки, ListBox создает свой собственный ListBoxItem на свой собственный. Я не смог повлиять на что-нибудь об этом ListBoxItem после факта. Новый код:

        частные void AddGameStateLogMessage(Строка theMessage)
        {
            ListBoxItem li = Новые функции ListBoxItem();
            Li.Содержание = theMessage;
            Li.MaxHeight = 25;

            Толщина thisPadding = Новые функции Толщина(5, 0, 5, 0);
            Li.Заполнение = thisPadding;

            GameStateLog.Items.Insert(0,ли);
        }

 

Здесь я создаю ListBoxItem и вставить их. Я удалил избыточное заполнение, установив его толщина.

Это довольно гибкой, как я намерен сделать некоторые цветовое кодирование для выделения определенных типов сообщений и непосредственно добавив ListBoxItems я получаю стиль их никоим образом, что я хочу.

Понадейтесь что это помогает кто-то!

</конец>

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

Следуй за мной по щебетать на http://www.twitter.com/pagalvin