【发布时间】:2013-11-25 14:45:28
【问题描述】:
我正在尝试使用标志性磁贴模板在我的 Windows Phone 8 应用程序中创建辅助动态磁贴,但在创建磁贴时出现异常。我得到的例外是:
“System.InvalidOperationException”类型的第一次机会异常 发生在 Microsoft.Phone.ni.dll 中
附加信息:initialData 只能是类型 标准瓦片数据。
我用来创建动态磁贴的方法是:
public void PinLock(Lock item)
{
Uri smallIcon = new Uri(item.IsLocked ? LockedIcon : UnlockedIcon, UriKind.Relative);
Uri largeIcon = new Uri(item.IsLocked ? LockedIcon : UnlockedIcon, UriKind.Relative);
var tileData = new IconicTileData
{
IconImage = largeIcon,
SmallIconImage = smallIcon,
Title = item.Name
};
string tileUri = "/MainPage.xaml?Action=LockDetails&LockId=" + item.Id;
ShellTile.Create(new Uri(tileUri, UriKind.Relative), tileData);
}
我在 WMAppManifest.xml 中设置了动态磁贴类型,如下所示:
<PrimaryToken TokenID="MyToken" TaskName="_default">
<TemplateIconic>
<SmallImageURI IsRelative="true" IsResource="false">Assets\lock-icon.png</SmallImageURI>
<Count>0</Count>
<IconImageURI IsRelative="true" IsResource="false">Assets\lock-icon.png</IconImageURI>
<Title>Locky</Title>
<Message>
</Message>
<BackgroundColor>
</BackgroundColor>
<HasLarge>false</HasLarge>
<LargeContent1>
</LargeContent1>
<LargeContent2>
</LargeContent2>
<LargeContent3>
</LargeContent3>
<DeviceLockImageURI IsRelative="true" IsResource="false">
</DeviceLockImageURI>
</TemplateIconic>
</PrimaryToken>
</Tokens>
我找不到任何正确方法的好例子,而且我在互联网上找不到任何其他人遇到此异常消息。
我尝试过的其他事情:
- 首先使用 StandardTemplateTileData 创建辅助模板 然后当我更新它时尝试使用 IconicTileData。这会抛出一个 例外。
- 首先使用创建辅助模板 StandardTemplateTileData,然后将其删除并替换为 一个使用 IconicTileData。这不起作用(抛出相同的异常 同上)
非常感谢任何帮助或好的示例。
【问题讨论】:
标签: c# windows-phone-8 secondary-live-tile