每月档案: 4 月 2013

快速、 方便: 在 Windows 应用程序商店中使用 C# 矩形移动

我整体的博客哲学是它是完美的罚款对老的博客, 结算科目包含到其他地方的死亡。  我假设这主题是其中之一, 我写博客,但它无论如何.

我一直在窗口应用程序商店,我在部分需要做一些对进行动画处理。  为此目的, 我一直在搞位和 windows 的功能,存储 app 动画,, 事实证明, 是相当接近, 但不完全一样, 在.NET 中的 XAML 基础动画 (我还是来找的事实那 WinRT <> .NET 🙂 ).

今天早上我想获取句柄上拖放操作  途中,, 我陷入了相反移动矩形 :).  这里是移动矩形,当用户单击一个按钮的代码:

   1:   
   2:              MatrixTransform ct = (MatrixTransform)rectBig.RenderTransform;
   3:              矩阵 m = ct。矩阵;
   4:              m.OffsetX   = 10;
   5:              m.OffsetY   = 10;
   6:              ct。矩阵 = m;
   7:              rectBig.RenderTransform = ct;

这里的窍门是我不能直接更改 OffsetX 或 OffsetY。  可能有一个更聪明的办法,这样做的 (如果你知道并感觉到喜欢, 请在评论中留言). 

为了做到这一点, 我需要的:

1. 获取矩形的 MatrixTransform (由铸造变换器).

2. 把那家伙的矩阵.

3. 更改矩阵的偏移量.

4. 重新分配回 MatrixTransform 矩阵.

5. 重新分配回该矩形 MatrixTransform.

若要测试它, 我把一个矩形,按钮在屏幕. 当我单击按钮, 上述逻辑执行,并立即将矩形移动.

在一些点, 我想要对此进行动画处理,但我也不知道如何获得 DoubleAnimation 在这方面努力 (Storyboard.SetTargetProperty() 正在一个谜给我这次吗).

</结束>

undefined订阅我的博客.

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

在列表框中以编程方式设置 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