0

アイコニック タイル テンプレートを使用して、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 を使用するものに置き換えます。これは機能しませんでした (上記と同じ例外をスローします)

どんな助けや良い例でも大歓迎です。

4

1 に答える 1