Live Tile要求
- 要求使用標準的處理XML DOM方式創建動態磁貼
- 要求採用Adaptive Tile(覆蓋至少small,medium,wide)
- 實現效果:要求每添加一條項目,磁貼能進行Updating,並且更新的內容循環展示。
- 嘗試使用通知可視化工具(Notifications Visualizer)
- 美觀度
實現過程
- 使用Notifications Visualizer設計磁貼樣式(xml), 並採用Adaptive Tile:對於small,不顯示任何信息;對於medium,只顯示標題和文字;對於wide,顯示圖片、標題和文字,且圖片位於左側區域,標題和文字位於右側區域;
- 在項目中新建一個xml文件,將Notification Visualizer 的xml拷入;
- 編寫update()函數,引用剛剛定義的xml文件,通過對DOM元素操作的方法,取到所有text的標籤,將更新條目的title和description作爲文本結點插入DOM樹中,使得當調用該函數時,磁貼樣式能體現在開始菜單中;
- 爲了使item增加時磁貼能同步更新,我在create按鈕的事件處理函數中調用了update()函數;
- 實現更新的內容循環: 調用通知隊列即可。
實現代碼(已拆分,完整代碼移步github)
(1)獲取XML文件並得到所有text標籤的集合
XmlDocument document = new XmlDocument(); document.LoadXml(System.IO.File.ReadAllText("Tile.xml"));
XmlNodeList textElements = document.GetElementsByTagName("text");
(2)實現更新同步的核心操作
TileUpdateManager.CreateTileUpdaterForApplication().Update(tileNotification);
TileUpdateManager.CreateTileUpdaterForApplication().EnableNotificationQueue(true);
添加一個item
磁貼(小)
磁貼(中)
磁貼(寬)
以上內容皆爲本人觀點,歡迎大家提出批評和指導,我們一起探討!