无法更新磁贴内容

时间:2012-09-06 09:42:59

标签: c# windows-8 microsoft-metro

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

现在我想清除应用程序中的一个tile模板。我试过了

TileUpdateManager.CreateTileUpdaterForApplication().Clear(); 

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

2 个答案:

答案 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);
        }
    }