4つのタイルテンプレートコンテンツを作成し、アプリケーションの起動時にこれら4つのテンプレートでタイルを更新しました。
ここで、アプリケーションから1つのタイルテンプレートのみをクリアしたいと思います。私は試した
TileUpdateManager.CreateTileUpdaterForApplication().Clear();
しかし、これはすべてのタイルテンプレートをクリアしています。特定のタイルを1つだけクリアするにはどうすればよいですか?
4つのタイルテンプレートコンテンツを作成し、アプリケーションの起動時にこれら4つのテンプレートでタイルを更新しました。
ここで、アプリケーションから1つのタイルテンプレートのみをクリアしたいと思います。私は試した
TileUpdateManager.CreateTileUpdaterForApplication().Clear();
しかし、これはすべてのタイルテンプレートをクリアしています。特定のタイルを1つだけクリアするにはどうすればよいですか?
これは私が理解するのに時間がかかったので、私は簡単な答えを探している人のために私のコードを投稿すると思いました。
private void ClearScheduledTileNotifications()
{
var notify = Notifications.TileUpdateManager.CreateTileUpdaterForApplication();
// Clear the notifications. This wil stop the live tile stuff straight out, but it wont remove the items from the list.
notify.Clear();
// Get the list of notifications
var list = notify.GetScheduledTileNotifications();
// Loop through the list of notifications and remove them from the manager.
foreach (var item in list)
{
// NOTE: If you want the list to exist, you could change the expiration date here as recommended in the
// MS Article above. I am just removing. You could also search for specific criteria here, or use linq on the query above.
Notifications.TileUpdateManager.CreateTileUpdaterForApplication().RemoveFromSchedule(item);
}
}
Clear
タイルから特定の通知を行うことはできません。このClear
メソッドは、すべての通知を削除します。
期限切れのタイル コンテンツについてExpirationTime
は、クラスでプロパティを使用するか、まだ有効な通知をTileNotification
呼び出してから再送信することを検討してください。Clear