每月檔案: 4 月 2013

快速而方便地: 在 Windows 應用程式商店中使用 C# 矩形移動

我整體的博客哲學是它是完美的罰款對老的博客, 結算科目包含到其他地方的死亡。  我假設這主題是其中之一, 我寫博客,但它無論如何.

我一直在視窗應用程式商店,我在部分需要做一些對進行動畫處理。  為此目的, 我一直在搞位和 windows 的功能,存儲 app 動畫,, 事實證明, 是相當接近, 但不完全一樣, 在.NET 中的 XAML 基礎動畫 (我還是來找的事實那 WinRT <> .淨🙂 ).

今天早上我想獲取控制碼上拖放操作  途中,, 我陷入了相反移動矩形 :).  這裡是移動矩形,當使用者按一下一個按鈕的代碼:

   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