所以我使用以下代码创建一个简单的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取消固定磁贴,它将永远不再显示。但我希望它每次都添加一个新的瓷砖
答案 0 :(得分:1)
用户取消固定磁贴后,您的应用程序将无法以编程方式将其恢复 - 由用户自行决定。
答案 1 :(得分:1)
我认为你可能会混淆活瓷砖和辅助瓷砖的概念。 (为了使它更加混乱,辅助磁贴也可以存在。):)上面的代码实现了“实时磁贴”的概念...将通知推送到现有磁贴以更新其文本/图像。
您声明要“每次都添加新磁贴”。从应用程序向“开始”菜单添加新图块是“辅助图块”的概念......它不是您的主要应用程序的图块,而是一个额外的图块,在启动时会直接转到特定的子图块你的申请。例如,在具有城市中心的天气应用程序上,然后是每个城市天气的详细信息页面,您可以为您所居住的城市(比如纽约市)的天气设置一个辅助图块。然后在“开始”菜单中单击该NYC辅助磁贴将启动该应用程序并直接转到纽约市的天气页面(绕过中心页面)。
最后,我们没有权力在没有最终用户的情况下创建额外的图块。因此,即使您实现了辅助磁贴代码,也应该在创建新磁贴之前获得最终用户的确认。当你想要在InitializeComponent中总是创建一个新的tile时,我无法想象一个场景。你能提供一些关于你想做什么的更多细节吗?
以下是一些包含代码示例的资源: