我创建了4个平铺模板内容,并在启动应用程序时使用这四个模板更新了平铺。
现在我想清除应用程序中的一个tile模板。我试过了
TileUpdateManager.CreateTileUpdaterForApplication().Clear();
但这是清除所有图块模板。如何清除一个特定的瓷砖?
答案 0 :(得分:0)
无法Clear
来自磁贴的特定通知。 Clear
方法会删除所有通知。
对于过期的图块内容,请考虑使用ExpirationTime
类的TileNotification
属性,或调用Clear
,然后重新发送仍然有效的通知。
答案 1 :(得分:0)
我花了一些时间才弄明白,所以我想我会为寻找快速答案的人发布我的代码。
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);
}
}