【发布时间】:2012-08-18 14:22:02
【问题描述】:
我正在使用 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”作为我的参考,我还有几个问题
- 当我通过将目标设备设置为“本地”来运行上述代码时 机器”它可以工作,但是当我将其设置为“模拟器”时它不会,可以 请任何人解释我为什么。
-
我们使用下面的行有瓷砖的到期时间
notify.ExpirationTime = DateTimeOffset.UtcNow.AddSeconds(10);
如果希望动态磁贴连续运行,我必须做什么,如果有任何链接或学习资料,请告诉我 提前致谢。
【问题讨论】:
-
它在没有通知延迟的情况下工作吗?您的 Tile.png 是否符合
-
不设置ExpirationTime是否有效?
-
刚刚将此代码弹出到 dev.windows.com 上的磁贴和徽章示例中,它就可以工作了。唯一的区别是我在示例中没有您的图片(我使用了 redWide.png),所以可能存在图片尺寸问题?还是引用的图片不在您的应用包中?
-
谢谢各位,我知道了,我的图像大小是
标签: c# xaml windows-8 microsoft-metro windows-runtime