Metro Show Notification(Text&Image), use the notification queue to cycle update the tile:
protected override void OnNavigatedTo(NavigationEventArgs e)
{
/*
//Cycle Update the Text
ShowTextNotification("One", "One");
ShowTextNotification("Two", "Two");
ShowTextNotification("Three", "Three");
Windows.UI.Notifications.TileUpdateManager.CreateTileUpdaterForApplication().EnableNotificationQueue(true);
*/
ShowWideImageNotification("ms-appx:///Images/Metro.jpg", "one");
ShowWideImageNotification("ms-appx:///Images/redWide.png", "two");
ShowWideImageNotification("ms-appx:///Images/redWide2.png", "three");
Windows.UI.Notifications.TileUpdateManager.CreateTileUpdaterForApplication().EnableNotificationQueue(true);
}
public void ShowWideImageNotification(string image, string tag)
{
var tileXml = Windows.UI.Notifications.TileUpdateManager.GetTemplateContent(Windows.UI.Notifications.TileTemplateType.TileWideImage);
var tileAttr = tileXml.GetElementsByTagName("image");
XmlElement ele = tileAttr[0] as XmlElement;
ele.SetAttribute("src", image);
var tileNotification = new Windows.UI.Notifications.TileNotification(tileXml);
if (tag != null)
{
tileNotification.Tag = tag;
}
Windows.UI.Notifications.TileUpdateManager.CreateTileUpdaterForApplication().Update(tileNotification);
}
public void ShowTextNotification(string text, string tag = null)
{
var tileXml = Windows.UI.Notifications.TileUpdateManager.GetTemplateContent(Windows.UI.Notifications.TileTemplateType.TileSquareText03);
var tileAttr = tileXml.GetElementsByTagName("text");
tileAttr[0].AppendChild(tileXml.CreateTextNode(text));
var tileNotification = new Windows.UI.Notifications.TileNotification(tileXml);
if (tag != null)
{
tileNotification.Tag = tag;
}
Windows.UI.Notifications.TileUpdateManager.CreateTileUpdaterForApplication().Update(tileNotification);
}
void UpdateBadgeWithNumber(int number)
{
var badgeXml = Windows.UI.Notifications.BadgeUpdateManager.GetTemplateContent(Windows.UI.Notifications.BadgeTemplateType.BadgeNumber);
var badgeAttr = badgeXml.SelectSingleNode("badge");
(badgeAttr as XmlElement).SetAttribute("value", number.ToString());
BadgeNotification badgeContent = new BadgeNotification(badgeXml);
// send the notification to the app's application tile
BadgeUpdateManager.CreateBadgeUpdaterForApplication().Update(badgeContent);
}