磁贴
TileUpdateManager.CreateTileUpdaterForApplication().EnableNotificationQueue(true); ???
???????? #region 通知1 ????????
??? #region 定義方形磁貼 ????
//獲取模版,因為模版就是xml文檔,所以此方法的返回值為XmlDocument類型的對象,在.net中就是使用XmlDocument對象操作xml文檔
? XmlDocument tileData = TileUpdateManager.GetTemplateContent(TileTemplateType.TileSquareImage); ???
?/獲取模版中的Img節點,因為此處使用的TagName來獲取節點,模版中可能存在多個Img節點,所以返回值是XmlNodeList,是節點集合而不是單獨的節點???????
? XmlNodeList imgData = tileData.GetElementsByTagName("image"); ???
/?//查看模版架構發現,模版中的image元素的圖片源是通過src屬性指定的,所以要設置取src屬性(這是xml不是xaml)
?//這里src是屬性,不是普通節點,所以需要使用方法來設置???????
? ((XmlElement)imgData[0]).SetAttribute("src", "ms-appx:///Assets/small2.png");
/?//更改好模版之后,需要一個磁貼通知對象將其封裝起來
???? #endregion
??? #region 定義寬型磁貼 ???????
?? XmlDocument largetileData = TileUpdateManager.GetTemplateContent(TileTemplateType.TileWideImage); ???????????
XmlNodeList largeimgData = largetileData.GetElementsByTagName("image"); ???????????
((XmlElement)largeimgData[0]).SetAttribute("src", "ms-appx:///Assets/2.png"); ??????????
? IXmlNode newnode = largetileData.ImportNode(tileData.GetElementsByTagName("binding").Item(0), true); ?????????
?? largetileData.GetElementsByTagName("visual").Item(0).AppendChild(newnode); ?????????
?? TileNotification largenotification = new TileNotification(largetileData); ??????????
? ?調用TileUpdateManager對象將通知發送到開始屏幕????
??? TileUpdateManager.CreateTileUpdaterForApplication().Update(largenotification); ???????
???? #endregion ??????
????? #endregion
??????????? #region 通知2 ?
?????????? #region 定義方形磁貼
??????????? XmlDocument tileData2 = TileUpdateManager.GetTemplateContent(TileTemplateType.TileSquareImage); ??????
????? XmlNodeList imgData2 = tileData2.GetElementsByTagName("image");??????????
?? ((XmlElement)imgData2[0]).SetAttribute("src", "ms-appx:///Assets/small3.png");
?????????#endregion
???????? #region 定義寬型磁貼 ???????????
XmlDocument largetileData2 = TileUpdateManager.GetTemplateContent(TileTemplateType.TileWideImage); ???????????
XmlNodeList largeimgData2 = largetileData2.GetElementsByTagName("image"); ?????????
?? ((XmlElement)largeimgData2[0]).SetAttribute("src", "ms-appx:///Assets/3.png"); ??????
????? IXmlNode newnode2 = largetileData2.ImportNode(tileData2.GetElementsByTagName("binding").Item(0), true); ??????????? largetileData2.GetElementsByTagName("visual").Item(0).AppendChild(newnode2);
???? TileNotification largenotification2 = new TileNotification(largetileData2); ?????????
?? largenotification2.Tag = "tile2";???????????
??? TileUpdateManager.CreateTileUpdaterForApplication().Update(largenotification2); ????
??????? #endregion ?????????
?? #endregion????????
這樣,自己做的項目就可以在開始屏幕上達到了,我們想要的效果,這里我只寫了兩個通知(列隊通知最多5個),其余的大家可以試試。(上面的代碼都有注釋)
磁貼更新
1.獲取模版,返回xml文檔
2.從文檔中獲取指定節點
3.為節點的屬性賦值
4.將方形磁貼附件到寬型磁貼上
5.定義通知
6.發送通知
轉載于:https://www.cnblogs.com/qzc900809/archive/2012/12/19/2825579.html
總結
- 上一篇: 简易数据分析 04 | Web Scra
- 下一篇: 如何部署自定义统计图