1

1つのブールプロパティを含むオブジェクトがありますIsPinnedToStart。このプロパティは、ユーザーがメインアプリケーションからセカンダリタイルを作成するときにtrueに設定されます。ユーザーがメインアプリケーションからタイルの固定を解除すると、このプロパティはfalseに設定されます。

ただし、タイルを[開始]から固定解除しても、プロパティは更新されません。

だから私の主な質問は、スタート画面からセカンダリタイルの固定を解除したときにアプリケーションで通知を受け取るにはどうすればよいですか?

どんな助けでも大歓迎です。よろしくお願いします...:)

4

1 に答える 1

1

あなたはそうしない。スタート画面(ShellTile.ActiveTilesコレクション内)でアプリが作成したすべてのタイルをクエリし、そこから現在のコンテンツアイテムが固定されているかどうかを判断する必要があります。

たとえば、特定のアイテムIDにリンクしているタイルを削除するには...

var tile = ShellTile.ActiveTiles.Single(t => t.NavigationUri.ToString().Contains("?ItemId=" + MyItemId));
tile.Delete();

または、特定のアイテムIDのタイルがあるかどうかを判断します。

bool tileExists = ShellTile.ActiveTiles.Where(t => t.NavigationUri.ToString().Contains("?ItemId=" + MyItemId)).Any();

注:コードはテストされておらず、こちらのブログ投稿に基づいています

于 2012-06-06T11:33:12.140 に答える