win8应用开发——动态磁贴

首先要说明,如果图片是存储在本地的,在首页最多只能轮换五张图片,个人认为这个规定很没用,可以把图片按数字起名字,定期更换一批图片嘛,如果图片存储在云端的话就可以轮换N张了,其实个人觉得都一样。那我就给出个个人做的轮换三张图片的例子吧。

 

①在mainpage.cs文件中 也就是你首页面的.cs文件里 找到初始化函数,插入这两句话:

TileUpdateManager.CreateTileUpdaterForApplication().EnableNotificationQueue(true);
Add_Tiles();

②然后开始编辑Add_Tiles()这个函数                                                                  //这段代码加了三个轮换的图片

private void Add_Tiles()
{
string tileXmlString = "<tile>"                                                                        下面是一段XML代码
+ "<visual>"
+ "<binding template='TileWideImage' branding='None'>"
+ "<image id='1' src='ms-appx:///Assets/0.png' alt='alt text'/>"
+ "</binding>"
+ "<binding template='TileSquareImage' branding='None'>"
+ "<image id='1' src='ms-appx:///Assets/0.png' alt='alt text'/>"
+ "</binding>"
+ "</visual>"
+ "</tile>";
Windows.Data.Xml.Dom.XmlDocument tileDOM = new Windows.Data.Xml.Dom.XmlDocument();
tileDOM.LoadXml(tileXmlString);
TileNotification tile = new TileNotification(tileDOM);
TileUpdateManager.CreateTileUpdaterForApplication().Update(tile);
string tileXmlString1 = "<tile>"
+ "<visual>"
+ "<binding template='TileWideImage' branding='None'>"
+ "<image id='1' src='ms-appx:///Assets/1.jpg' alt='alt text'/>"
+ "</binding>"
+ "<binding template='TileSquareImage' branding='None'>"
+ "<image id='1' src='ms-appx:///Assets/1.jpg' alt='alt text'/>"
+ "</binding>"
+ "</visual>"
+ "</tile>";
// Windows.Data.Xml.Dom.XmlDocument tileDOM = new Windows.Data.Xml.Dom.XmlDocument();
tileDOM.LoadXml(tileXmlString1);
TileNotification tile1 = new TileNotification(tileDOM);

TileUpdateManager.CreateTileUpdaterForApplication().Update(tile1);
string tileXmlString2 = "<tile>"
+ "<visual>"
+ "<binding template='TileWideImage' branding='None'>"
+ "<image id='1' src='ms-appx:///Assets/2.png' alt='alt text'/>"
+ "</binding>"
+ "<binding template='TileSquareImage' branding='None'>"
+ "<image id='1' src='ms-appx:///Assets/2.png' alt='alt text'/>"
+ "</binding>"
+ "</visual>"
+ "</tile>";
// Windows.Data.Xml.Dom.XmlDocument tileDOM = new Windows.Data.Xml.Dom.XmlDocument();
tileDOM.LoadXml(tileXmlString2);
TileNotification tile2 = new TileNotification(tileDOM);

TileUpdateManager.CreateTileUpdaterForApplication().Update(tile2);
}

 

这个可能还需要引入几个包,具体的我也记不清了,大家根据代码提示自己引入就好了。

这样,在桌面的图标上就可以看到和人人、微博一样的滚动效果了。

posted @ 2012-09-26 12:26  5AnonymousAtBJTU  阅读(670)  评论(1编辑  收藏  举报