最近正在研究Metro的动态磁贴,于是翻到Microsoft的一个sample
http://code.msdn.microsoft.com/windowsapps/App-tiles-and-badges-sample-5fc49148
这个sample为了能让大家方便使用,而作了大量的其它工作,与动态更新tile和badge无关的工作,这就使得code变得臃肿。以前开发MFC,MSDN上的sample code多么的简洁和直接,怀念!!

从这张图能看的出来这个sample有多烦,而我仅仅是想动态update一下tile和badge而已。
于是从这堆sample里扒拉几行code,和大家分享一下
void up_tile(){/// update image/// 准备好要更换的tile的xmlXmlDocument tileXml = TileUpdateManager.GetTemplateContent(TileTemplateType.TileWideImage);XmlNodeList imageElements = tileXml.getElementsByTagName_r("image");String strImage = "tile_img.png";
XmlElement imageElement = (XmlElement)imageElements.Item(0);string imageSource = "ms-appx:///" + strImage;imageElement.SetAttribute("src", imageSource);XmlElement bindingElement = (XmlElement)tileXml.getElementsByTagName_r("binding").Item(0);bindingElement.SetAttribute("branding", "Name");
/// 创建一个tile的updater///TileUpdater Updater = TileUpdateManager.CreateTileUpdaterForApplication();/// 创建一个NotifyTileNotification tileNotify = new TileNotification(tileXml);Updater.Update(tileNotify);
/// update 文字///String badge = "要更新的文字";///照例是要准备xmlXmlDocument xmlDoc = new XmlDocument();xmlDoc.LoadXml(badge);/// 照例是一个updater和一个notificationBadgeUpdateManager.CreateBadgeUpdaterForApplication().Update(new BadgeNotification(xmlDoc));
}