1

我正在使用 Windows 8 发布预览版和 C#(VS 2012) 开发 Metro 应用程序,我正在使用下面的代码来更新应用程序磁贴。

TileUpdateManager.CreateTileUpdaterForApplication().EnableNotificationQueue(true);

XmlDocument TileXML = TileUpdateManager.GetTemplateContent(TileTemplateType.TileWideImage);                

XmlNodeList imageAttribute = TileXML.GetElementsByTagName("image");
((XmlElement)imageAttribute[0]).SetAttribute("src", "ms-appx:///Assets/Tile.png");
((XmlElement)imageAttribute[0]).SetAttribute("alt", "red graphic");

TileNotification notify = new TileNotification(TileXML);
notify.ExpirationTime = DateTimeOffset.UtcNow.AddSeconds(10);

TileUpdateManager.CreateTileUpdaterForApplication().Update(notify);

但是我的应用程序磁贴没有更新,我不知道我错过了什么以及我做错了什么,请帮助我。

我得到了答案,关于添加扩展文件“NotificationExtensions.winmd”作为我的参考,我还有几个问题

  1. 当我通过将我的目标设备设置为“本地机器”来运行上面的代码时,它可以工作,但是当我将它设置为“模拟器”时它不会,任何人都可以解释一下为什么。
  2. 我们通过使用下面的行来设置磁贴的到期时间,
    notify.ExpirationTime = DateTimeOffset.UtcNow.AddSeconds(10);
    如果希望动态磁贴连续运行,我必须做什么,

    请让我知道是否有任何链接或学习材料提前谢谢。

4

1 回答 1

1

谢谢你们,我得到了答案,我的图像大小是 <200KB 并且 < 1024x1024,我做的错误是我没有添加扩展文件“NotificationExtensions.winmd”作为我的参考。我做到了,我明白了。

于 2012-08-19T07:53:21.997 回答