我正在尝试为Windows Phone 8创建一个IconicTile。我已经使用VS2012定义了Tile Template到TemplateIconic的类型,并添加了一个Tile Title和两个中小型图像。
如果我将我的应用程序固定到开始屏幕,我可以选择像预期的中小型瓷砖。
现在我想更新我在WMAppManifest.xml中定义的IconicTile。据我了解IconicTile,它需要在代码中更新,如果我定义了一个,它还会更新LockScreen图标和计数。我添加了一个DeviceLockImageURI和这个Extensions:
<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的计数或文本。我在这里缺少什么?
答案 0 :(得分:0)
对于第一个问题:
从Xml创建IconicTile时,我seen有一个Tile ID:
<wp:Tile Id="[Tile ID]" Template="IconicTile">
也许是这个ID?否则我将永远使用相同的静态ID,因为没有关于如何创建此ID的文档。
关于第二个问题:
我发现了错误:我失踪了
using System.Linq;
此使用允许访问使用FirstOrDefault或类似命令所必需的Linq方法。
我被误导了using System.Xml.Linq;
这肯定与Linq类不一样;)