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);
}
这个可能还需要引入几个包,具体的我也记不清了,大家根据代码提示自己引入就好了。
这样,在桌面的图标上就可以看到和人人、微博一样的滚动效果了。