0

我创建了 4 个磁贴模板内容,并在应用程序启动时使用这四个模板更新了磁贴。

现在我只想从应用程序中清除一个磁贴模板。我试过

TileUpdateManager.CreateTileUpdaterForApplication().Clear(); 

但这是清除所有磁贴模板。如何只清除一个特定的瓷砖?

4

2 回答 2

0

无法Clear从磁贴发出特定通知。该Clear方法删除所有通知。

对于过期的磁贴内容,请考虑使用类ExpirationTime上的属性TileNotification,或调用Clear然后重新发送仍然有效的通知。

于 2012-09-06T15:40:16.367 回答
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);
        }
    }
于 2012-11-17T14:10:51.717 回答