我正在尝试为 Windows Phone 8 创建一个 IconicTile。我已经使用 VS2012 将 Tile 模板的类型定义为 TemplateIconic 并添加了一个 Tile Title 和两个用于中小型的图像。
如果我将我的应用固定到开始屏幕,我可以像预期的那样在中小型磁贴之间进行选择。
现在我想更新我在 WMAppManifest.xml 中定义的 IconicTile。据我了解 IconicTile,它需要在代码中更新,并且如果我定义了 LockScreen 图标和计数,它也会更新。我添加了一个 DeviceLockImageURI 和这个扩展:
<Extensions>
<Extension ExtensionName="LockScreen_Notification_IconCount" ConsumerID="{111DFF24-AA15-4A96-8006-2BFF8122084F}" TaskID="_default"/>
<Extension ExtensionName="LockScreen_Notification_TextField" ConsumerID="{111DFF24-AA15-4A96-8006-2BFF8122084F}" TaskID="_default" />
</Extensions>
第一个问题:这个 ConsumerID 总是相同还是它是哪个 ID?
要更新我在 WMAppManifest.xml 中定义的 IconicTile,我需要在屏幕上获取我的应用程序的所有固定 Tiles。我已经阅读了很多解释如何从您的应用程序手动添加磁贴的教程,但我只想使用我在 WMAppManifest.xml 中定义的磁贴。因此,所有教程都建议使用以下代码获取当前活动的 Tile:
ShellTile.ActiveTiles.FirstOrDefault();
ActiveTiles 是一个 IEnumeration,只为我提供:Equals、GetEnumerator、GetHashCode、GetType 和 ToString
第二个问题:我在这里错过了什么?FirstOrDefault 是否仅适用于 FlipTiles 或 CycleTiles?我只想使用 IconicTile!
所以我坚持在屏幕上识别当前活动的 IconicTile,以便我可以使用 IconicTileData 对象来更新 IconicTile 的计数或文本。我在这里想念什么?