有什么办法可以在运行时更改WMAppManifest.xml中默认磁贴图像的Uris吗?
例如,我想为用户启用一个选项,以便在我的应用设置中选择平铺图像。这不是问题,因为如果应用程序固定到开头,我可以使用新图像更新主图块,但如果应用程序没有固定并且用户想要再次固定应用程序,那么将使用默认图像,这不是我想要的行为,我希望瓷砖具有用户在设置中选择的图像。如果可能,如何实现这一目标?
答案 0 :(得分:2)
我想通了,我不知道ShellTile.ActiveTiles
总是会包含默认的磁贴,无论应用是否固定,所以我只是在设置项更改后更新了这个磁贴:
private async void UpdateTile(bool isTransparent)
{
ShellTile defaultTile = ShellTile.ActiveTiles.FirstOrDefault();
if (defaultTile != null)
{
string tileFolder = isTransparent ? "Transparent" : "Normal";
defaultTile.Update(new FlipTileData()
{
SmallBackgroundImage = new Uri("appdata:/Assets/Tiles/" + tileFolder + "/Logo.scale-100.png"),
BackgroundImage = new Uri("appdata:/Assets/Tiles/" + tileFolder + "/Logo.scale-180.png"),
WideBackgroundImage = new Uri("appdata:/Assets/Tiles/" + tileFolder + "/WideLogo.scale-180.png")
});
}
}