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 回答