//选择模版
XmlDocument largeTileData = TileUpdateManager.GetTemplateContent(TileTemplateType.TileWidePeekImage01);
//添加文字说明
XmlNodeList largetextdata = largeTileData.GetElementsByTagName("text");
XmlNodeList imagedata = largeTileData.GetElementsByTagName("image");
largetextdata[0].InnerText = "F#ck Day!";
largetextdata[1].InnerText = "What a F#cking Day?";
//设置图片
((XmlElement)imagedata[0]).SetAttribute("src","ms-appx:///images/1024.png");
//微标 文字以及图片
XmlDocument smalltiledate = TileUpdateManager.GetTemplateContent(TileTemplateType.TileSquarePeekImageAndText02);
XmlNodeList smallTileText = smalltiledate.GetElementsByTagName("text");
XmlNodeList smallTileImage = smalltiledate.GetElementsByTagName("image");
smallTileText[0].InnerText = "Cao Egg";
smallTileText[1].InnerText = "I'm F#cker in there";
((XmlElement)smallTileImage[0]).SetAttribute("src", "ms-appx:///images/1024.png");
//合并两个到一个<visual> XML节点
IXmlNode newNode = largeTileData.ImportNode(smalltiledate.GetElementsByTagName("binding").Item(0), true);
largeTileData.GetElementsByTagName("visual").Item(0).AppendChild(newNode);
//创建通知
TileNotification notification = new TileNotification(largeTileData);
//多少秒以后移除
notification.ExpirationTime = DateTimeOffset.UtcNow.AddSeconds(30);
//发送通知
TileUpdateManager.CreateTileUpdaterForApplication().Update(notification);
精简
XmlDocument tileData = TileUpdateManager.GetTemplateContent(TileTemplateType.TileSquareBlock);
XmlNodeList textData = tileData.GetElementsByTagName("text");
textData[0].InnerText = "10";
textData[1].InnerText = "Days of Me";
TileNotification notification = new TileNotification(tileData);
//为通知设置到期时间
//默认情况下,本地磁贴和锁屏提醒不会过期,推送通知、定期通知、激活通知会在三天之后过期。
//最好通过使用一个对你的应用有意义的时间设置过期时间,对于本地磁贴和锁屏提醒通知尤其如此。
//磁贴内容的保留时间应不长于内容具有相关性的时间。
//在这种情况下,该通知将在十分钟内到期并从磁贴中删除。
notification.ExpirationTime = DateTimeOffset.UtcNow.AddSeconds(20);
TileUpdateManager.CreateTileUpdaterForApplication().Update(notification);
计划磁贴通知
//指定模板
TileTemplateType tileTemplate = TileTemplateType.TileWideImageAndText01;
XmlDocument tileXml = TileUpdateManager.GetTemplateContent(tileTemplate);
//提供通知内容
//设置文字
XmlNodeList tileTextAttributes = tileXml.GetElementsByTagName("text");
tileTextAttributes[0].InnerText = "Hello"+Guid.NewGuid().ToString().Substring(0,5)+" World!!!!!";
//设置图片
XmlNodeList tileImageAttributes = tileXml.GetElementsByTagName("image");
((XmlElement)tileImageAttributes[0]).SetAttribute("src", "ms-appx:///images//1024.png");
((XmlElement)tileImageAttributes[0]).SetAttribute("alt", "red graphic");
//小瓷贴模版。
XmlDocument squareTileXml = TileUpdateManager.GetTemplateContent(TileTemplateType.TileSquareText04);
//设置文字
XmlNodeList squareTileTextAttributes = squareTileXml.GetElementsByTagName("text");
squareTileTextAttributes[0].AppendChild(squareTileXml.CreateTextNode("Hello " + Guid.NewGuid().ToString().Substring(0, 5) + " World。。。。"));
//绑定
IXmlNode node = tileXml.ImportNode(squareTileXml.GetElementsByTagName("binding").Item(0), true);
//插入
tileXml.GetElementsByTagName("visual").Item(0).AppendChild(node);
//指定应传递通知的时间
//Int16 dueTimeInHours = 3;
//DateTime dueTime = DateTime.Now.AddHours(dueTimeInHours);
DateTime dueTim1e = DateTime.Now.AddSeconds(10);
//创建计划的磁贴通知对象
ScheduledTileNotification scheduledTile = new ScheduledTileNotification(tileXml, dueTim1e);
//为计划的磁贴通知赋予 ID
scheduledTile.Id = "Future_Tile";
//向计划中添加磁贴通知。
TileUpdateManager.CreateTileUpdaterForApplication().AddToSchedule(scheduledTile);
磁贴通知队列
//设置选项以启用通知循环
TileUpdateManager.CreateTileUpdaterForApplication().EnableNotificationQueue(true);
//创建磁贴通知
TileUpdateManager.GetTemplateContent(TileTemplateType.TileWideImageAndText01);
XmlDocument tileXml = TileUpdateManager.GetTemplateContent(TileTemplateType.TileSquareBlock);
// TODO: Fill in the template with your tile content.
// TODO: Define a square tile and add it to tileXML.
TileNotification tileNotification = new TileNotification(tileXml);
/*
* 启用队列时,最多可在磁贴上自动循环显示五个磁贴通知。
* 默认情况下,队列中通知的替换策略是先进先出 (FIFO);
* 当队列排满且到达新通知时,最早的通知将被删除。
* 请注意,通知显示顺序不遵守严格的线性模式。
* 用户可看到通知的顺序与其到达时的顺序并不相同。
*/
//授予通知标记
tileNotification.Tag = "stockMSFT";
//向磁贴发送通知
TileUpdateManager.CreateTileUpdaterForApplication().Update(tileNotification);
清除磁贴通知
Windows.UI.Notifications.TileUpdateManager.CreateTileUpdaterForApplication().Clear();
参考实例:http://code.msdn.microsoft.com/windowsapps/app-tiles-and-badges-sample-5fc49148/