1

つまり、私の問題は、ライブ タイルの背景画像が更新されていないことです。

正しい画像が分離ストレージにあることはわかっています。また、それがタイルの画像として設定されていることもわかっていますが、現在表示されていないタイル サイズのみが更新されます。現在更新に使用されているタイル サイズの場合、ユーザーはタイル サイズを数回切り替える必要があります。この問題は、タイル キャッシュが構築され、簡単にクリアできないことに関係していると思います。ただし、それをクリアするためにいくつかの異なる方法を試しました-タイルのすべてのプロパティをクリアし、各アイコンに一意のファイル名を設定しましたが、どれも機能しませんでした-タイルを循環するか、アイコンの固定を解除して再固定する必要があります更新します。

更新を強制するための解決策または回避策はありますか?

編集:私が使用しているコードは次のとおりです。

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);
4

0 に答える 0