1

隔離されたストレージに保存された画像を使用してIconicTileを作成しようとしています。

最初は、画像を隔離されたストレージに保存しました。

// bitmap is Stream of image source (e.g. from PhotoChooserTask)
var wbmp = new WriteableBitmap(bitmap);
var file = "Shared/ShellContent/IconicTile.png";
// when file exists, delete it
if (storage.FileExists(file))
{
    storage.DeleteFile(file);
}
using (var isoFileStream = new IsolatedStorageFileStream(file, FileMode.Create, storage))
{
    // use ToolStackPNGWriterExtensions
    wbmp.WritePNG(isoFileStream);
}

また、IsostorageExplorerToolsを使用してPNGファイルが正常に作成されたことを確認しました。次に、IconicTileを作成してみます。

var initialData = new IconicTileData
{
    BackgroundColor = SelectedColor,
    IconImage = new Uri("isostore:/Shared/ShellContent/IconicTile.png", UriKind.Absolute),             
    Title = tbTitle.Text,
    WideContent1 = tbWideContent1.Text,
    WideContent2 = tbWideContent2.Text,
    WideContent3 = tbWideContent3.Text
};
var uri = string.Format("/SecondaryPage.xaml");

var TileToFind = ShellTile.ActiveTiles.FirstOrDefault(x => x.NavigationUri.ToString().Contains(uri));
if (TileToFind == null)
    ShellTile.Create(new Uri(uri, UriKind.Relative), initialData, true);
else
    TileToFind.Update(initialData);

ただし、作成されたタイルの画像は白です。(画像を添付したいのですが、評判が低すぎます。ごめんなさい。)

PNG形式だけでなくJPG形式も試しましたが、どちらも動作しません。

とにかくIsolatedStorageの画像を使用してIconicTileを作成する方法はありますか?

4

1 に答える 1

2

アイコニック タイル形式では、最初の行 (PhotoChooserTask) のコメントに基づいて、透明な背景が必要です。透明度のないある種の画像を使用していると思われます。

于 2013-01-13T05:21:42.380 に答える