Windows 8中的自定义应用程序磁贴不会一直显示

时间:2013-01-20 11:45:40

标签: windows-8 microsoft-metro tile

所以我使用以下代码创建一个简单的tile。在this.InitializeComponent();

        var tileCon = TileUpdateManager.GetTemplateContent(TileTemplateType.TileSquareBlock);
        var tileLines = tileCon.SelectNodes("tile/visual/binding/text");
        tileLines[0].InnerText = "hell";
        tileLines[1].InnerText = "hi";
        var notification = new TileNotification(tileCon);
        var updater = TileUpdateManager.CreateTileUpdaterForApplication();
        updater.Update(notification); </code>

我第一次运行该应用时,会显示该磁贴。但是,无论我运行应用程序多少次,我都会从Metro UI取消固定磁贴,它将永远不再显示。但我希望它每次都添加一个新的瓷砖

2 个答案:

答案 0 :(得分:1)

用户取消固定磁贴后,您的应用程序将无法以编程方式将其恢复 - 由用户自行决定。

答案 1 :(得分:1)

我认为你可能会混淆活瓷砖和辅助瓷砖的概念。 (为了使它更加混乱,辅助磁贴也可以存在。):)上面的代码实现了“实时磁贴”的概念...将通知推送到现有磁贴以更新其文本/图像。

您声明要“每次都添加新磁贴”。从应用程序向“开始”菜单添加新图块是“辅助图块”的概念......它不是您的主要应用程序的图块,而是一个额外的图块,在启动时会直接转到特定的子图块你的申请。例如,在具有城市中心的天气应用程序上,然后是每个城市天气的详细信息页面,您可以为您所居住的城市(比如纽约市)的天气设置一个辅助图块。然后在“开始”菜单中单击该NYC辅助磁贴将启动该应用程序并直接转到纽约市的天气页面(绕过中心页面)。

最后,我们没有权力在没有最终用户的情况下创建额外的图块。因此,即使您实现了辅助磁贴代码,也应该在创建新磁贴之前获得最终用户的确认。当你想要在InitializeComponent中总是创建一个新的tile时,我无法想象一个场景。你能提供一些关于你想做什么的更多细节吗?

以下是一些包含代码示例的资源: