Windows runtime 如何在运行时更改活动互动程序的背景色?
我正在尝试在运行时更改Windows 8应用程序上实时互动程序的背景色。这可能吗?有人有代码片段吗?背景颜色在应用程序清单中指定。因此,这似乎是不可能的Windows runtime 如何在运行时更改活动互动程序的背景色?,windows-runtime,winrt-xaml,Windows Runtime,Winrt Xaml,我正在尝试在运行时更改Windows 8应用程序上实时互动程序的背景色。这可能吗?有人有代码片段吗?背景颜色在应用程序清单中指定。因此,这似乎是不可能的 通过在运行时发送带有适当背景图像(颜色)的自定义时间,可以模拟相同的情况。这是一种奇怪的方法,但我的小脑袋只能想到这种方法。对于主/默认磁贴,您可以按照@Tilak所说的做:创建磁贴图像通知并使用TileUpdateManager.createTileUpdateForApplication().Update来更新它 对于辅助磁贴,请执行以下操
通过在运行时发送带有适当背景图像(颜色)的自定义时间,可以模拟相同的情况。这是一种奇怪的方法,但我的小脑袋只能想到这种方法。对于主/默认磁贴,您可以按照@Tilak所说的做:创建磁贴图像通知并使用
TileUpdateManager.createTileUpdateForApplication().Update
来更新它
对于辅助磁贴,请执行以下操作:
var tile=newsecondarytile(“您的tile\u ID”);
tile.VisualElements.BackgroundColor=Colors.Red;
等待tile.UpdateAsync()代码>
问题是:背景没有立即更新,我也没有
我知道为什么。但您可以在注销/登录后看到效果,例如
例子。(使用windows 10进行测试)
所以这个答案是不完整的,但希望能给像我这样从谷歌来到这里的人提供一些见解
假设您已经解决了这个问题,但我将在这里发布此信息,如果有人通过此线程访问,可能会很有用
对于初级瓷砖,Bruno Lemos的答案是正确的
对于Seconday Tile我将使用TileUpdateManager。创建TileUpdateForSecondArytile(Tile2\u ID)
使用TileNotifications和TileUpdaterManager对我即时有效
使用平铺模板,您必须修改模板中的一些XML代码,但也可以下载NotificationsExtensionsNuGet软件包,并按以下方式执行:
var tile2 = TileContentFactory.CreateTileSquare150x150PeekImageAndText01();
tile2.Branding = TileBranding.Name;
tile2.Image.Src = "ms-appx:///assets/Logo-transparent.png"; //Useful to have the same logo image with transparent background and other colors
tile2.TextHeading.Text = "Heading";
tile2.TextBody1.Text = "String1";
tile2.TextBody2.Text = "String2";
tile2.TextBody3.Text = "String3";
var doc = new XmlDocument();
doc.LoadXml(tile2.ToString());
var updater = TileUpdateManager.CreateTileUpdaterForSecondaryTile(tile2_id);
updater.EnableNotificationQueueForSquare150x150(true); //enables up to 5 different tile *animations* for 150 square icon, can be enabled for other sizes too
updater.Update(new TileNotification(doc) { Tag = "1" });
上面的代码考虑了先前创建的SecondaryTile
您可以在此处看到图标的不同模板:
您只需更改行TileContentFactory.CreateNAMEOFTEMPLATE并填充不同的字符串/图像字段
有关在互动程序中启用多个动画的EnableNotificationQueue的信息,可在此处找到: