更改默认平铺图像网址

时间:2014-07-29 09:08:15

标签: c# windows-phone-7 windows-phone-8 windows-phone windows-phone-8.1

有什么办法可以在运行时更改WMAppManifest.xml中默认磁贴图像的Uris吗?

例如,我想为用户启用一个选项,以便在我的应用设置中选择平铺图像。这不是问题,因为如果应用程序固定到开头,我可以使用新图像更新主图块,但如果应用程序没有固定并且用户想要再次固定应用程序,那么将使用默认图像,这不是我想要的行为,我希望瓷砖具有用户在设置中选择的图像。如果可能,如何实现这一目标?

1 个答案:

答案 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")
            });
        }
    }