简而言之,我的问题是我的Live Tile的背景图片没有更新。
我知道正确的图像在隔离存储中,我也知道它被设置为图块的图像,但是只有当前未被查看的图块尺寸更新。对于当前用于更新的图块大小,用户必须多次循环图块尺寸。我认为这个问题与正在构建的磁贴缓存有关,并且不容易被清除。但是,我尝试了一些不同的方法来清除它 - 清除磁贴上的所有属性,为每个图标设置唯一的文件名,没有一个已经工作 - 我仍然被迫循环切换磁贴或取消固定并重新加入图标更新。
是否有任何解决方案或解决方法可以强制更新?
编辑:我使用的代码是:
Canvas canvasIcon = DrawCanvas(100, 172, 30, 30, brushWhite, brushWhite, PenLineCap.Square, 10);
WriteableBitmap wbIcon = new WriteableBitmap(canvasIcon, null);
wbIcon.Invalidate();
var stream = new IsolatedStorageFileStream("Shared/ShellContent/icon.png", FileMode.OpenOrCreate, isoStore);
wbIcon.WritePNG(stream);
stream.Close();
IconicTileData iconicTile = new IconicTileData() {
SmallIconImage = new Uri("isostore:/Shared/ShellContent/smallicon.png", UriKind.Absolute),
Title = "Placeholder",
IconImage = new Uri("isostore:/Shared/ShellContent/icon.png", UriKind.Absolute)
};
ShellTile tile = ShellTile.ActiveTiles.First();
tile.Update(iconicTile);