在列表框中以编程方式设置 ListboxItems 的高度为 Windows 应用程序商店

我工作在 windows 应用商店应用程序,我想要在应用程序中做的事情之一是显示日志的显示状态消息和其他信息的花絮,如用户工作的事情. 为此目的, 中添加一个列表框,如下所示:

<列表框 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) 从鲍勃利莱伊教授. 而不是将字符串添加到列表框中的项集合, 添加 ListBoxItems. 通过添加一个字符串, 列表框自行创建其自己的 ListBoxItem. 我不能影响任何关于那 ListBoxItem 后的事实. 新的代码是:

        私人 无效 AddGameStateLogMessage(字符串 留言者)
        {
            ListBoxItem 李 = 新增功能 ListBoxItem();
            李。内容 = 留言者;
            零MaxHeight = 25;

            厚度 thisPadding = 新增功能 厚度(5, 0, 5, 0);
            零填充 = thisPadding;

            GameStateLog.Items.Insert(0,李);
        }

 

在这里我创建了 ListBoxItem 的插入. 我删除多余的填充通过设置它的厚度.

这是很灵活的我打算做一些颜色编码来突出显示特定类型的消息,我要通过直接添加 ListBoxItems 样式他们希望的任何方式.

希望这有助于人!

</结束>

undefined订阅我的博客.

跟我在 Twitter 上 http://www.twitter.com/pagalvin

留言

您的电子邮件地址不会被公开. 必需的地方已做标记 *