0

所以我使用下面的代码来创建一个简单的图块。在下面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 取消固定磁贴,无论我运行该应用多少次,它都不会再显示。但我希望它每次都添加一个新图块

4

2 回答 2

1

我认为您可能会混淆动态磁贴和辅助磁贴的概念。(更令人困惑的是,辅助磁贴也可以是活动的。):) 上面的代码实现了“活动磁贴”的概念......将通知推送到现有磁贴以更新其文本/图像。

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

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

以下是一些带有代码示例的资源:

于 2013-01-21T03:04:58.620 回答
1

一旦用户取消固定磁贴,您的应用程序将无法以编程方式将其放回 - 由用户重新固定。

于 2013-01-20T21:32:30.243 回答