1

パノラマとパノラマの背景画像を変更する必要があるボタンを備えたシンプルなページがあります。元の画像は 1200x800 です。Resources の画像を使用すると、すべて問題ありません。

Uri uri = new Uri("Resources/Panorama.png", UriKind.Relative);
var bitmap2 = new BitmapImage(uri);

// here from debugging: bitmap2.CreateOptions == DelayCreation, bitmap2.PixelWidth == 0 and bitmap2.PixelHeight == 0

var lcBrush2 = new ImageBrush() {
    Stretch = Stretch.Fill,
    ImageSource = bitmap2 
};

panoMain.Background = lcBrush2;

しかし、Isolated Storage から写真を撮ると:

var picStream = ...getting a stream of file....;
BitmapImage bitmap = new BitmapImage();
bitmap.SetSource(picStream);

// here from debugging: bitmap.PixelWidth == 1200 and bitmap.PixelHeight == 800

var lcBrush = new ImageBrush() {
    Stretch = Stretch.Fill,
    ImageSource = bitmap 
};

panoMain.Background = lcBrush;

その後、画像は 480x800 に縮小されます

私が間違っていることは何ですか?それともMSのバグ?

4

1 に答える 1

1

これはバグのようです。そのスレッドからの1つの回避策:

私が見つけた回避策の 1 つは、XAML で目的のサイズの「既定の」背景画像を設定することです。これを行うと、MainPage_Loaded イベントの Background プロパティを更新して、新しい画像がデフォルトの画像と同じサイズで表示されます。

そのスレッドの下部に、コードを使用した別の回避策があります。

于 2011-11-03T18:08:01.093 に答える