アイコニック タイル テンプレートを使用して、Windows Phone 8 アプリでセカンダリ ライブ タイルを作成しようとしていますが、タイルの作成時に例外が発生します。私が得ている例外は次のとおりです。
タイプ 'System.InvalidOperationException' の初回例外が Microsoft.Phone.ni.dll で発生しました
追加情報: initialData は、StandardTileData 型のみにすることができます。
ライブ タイルを作成するために使用する方法は次のとおりです。
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 を使用するものに置き換えます。これは機能しませんでした (上記と同じ例外をスローします)
どんな助けや良い例でも大歓迎です。