我可以从预定的后台工作者修改ShellTile BackTitle和BackContent吗?

时间:2012-05-06 18:33:27

标签: windows-phone-7 windows-phone

我正在尝试更新应用程序磁贴背面的BackTitle和BackContent属性,以显示一些简单的文本。当我运行我的应用程序时,我可以设置这个没问题。我已经开始设置后台工作项目,以便在后台定期计划中更新它。

如何从后台工作程序的invoke方法访问ShellTile对象?这是否可能。

非常感谢 猪

解决方案:

获得ShellTile有点令人费解。不知道为什么我不能像我的应用程序一样去ShellTile.ActiveTiles.First,但这是我如何做到的:

    IEnumerator<ShellTile> it = ShellTile.ActiveTiles.GetEnumerator();
    it.MoveNext();
    ShellTile tile = it.Current;

1 个答案:

答案 0 :(得分:1)

是的 - 这是相当标准的做法。要访问ShellTile,您可以使用ShellTile.ActiveTiles(在Microsoft.Phone.Shell命名空间中)。这将返回所有用户当前ShellTile的列表。集合中的第一个项目始终是您的主应用程序磁贴 - 即使用户没有将您的应用程序固定到开始屏幕,它也会出现在列表中。您必须提出自己的方案来识别哪个区块是唯一的标识符NavigationUri

值得注意的是,根据Unsupported APIs for Background Agents for Windows Phone,您只能使用Update()类中的Delete()ActiveTilesShellTile