Программная настройка высоты 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

Оставь ответ

Ваш электронный адрес не будет опубликован. Обязательные поля помечены *