私はWindows 8.1 Storeアプリケーションを持っており、ビューの1つにイメージを表示する必要があります。私はこれをWPFデスクトップアプリケーションで何百回もやってきたので、やりやすいはずですが、私のイメージは表示されません。私はこのイメージをバイト配列としてリポジトリから取得します。私はチェックし、私のビューが表示された時点で私のViewModelのすべてのバイトを持っています。しかし、私はそれを見ない。これは、Windows 8.1 Storeアプリケーションで実際に画像を表示しようとするのは初めてのことです。そのため、さまざまなことが行われるのだろうかと思います。ここでイメージがWindows 8.1で表示されないStoreアプリケーション
は私のXAMLコードです:
<Border Grid.Column="2" BorderBrush="White" BorderThickness="5" Margin="2">
<Image Source="{Binding ImageBuffer}" AutomationProperties.Name="{Binding CompanyName}"
Width="280" Height="190" VerticalAlignment="Center" HorizontalAlignment="Center"/>
</Border>
コードが背後に、私が言ったように、適切に画像のすべてのバイトで初期化された「ImageBuffer」パブリックプロパティが含まれています。
private byte[] _imageBuffer;
public byte[] ImageBuffer
{
get { return _imageBuffer; }
set { Set(() => ImageBuffer, ref _imageBuffer, value); }
}
プロジェクト用にMVVM Light Toolkitを使用しています。
提案がありますか? (それがWPFであるように)
おかげで、
エディ
ありがとう、クレメンス。それは本当にうまくいった。出力ウィンドウにエラーが表示されました。私は、何かが期待どおりに動かないときにもそれを見ることを学んだ。 – Eddie
Clemensのソリューションを試している人のための他のコメントの1つである "AsStreamForWrite"は、System.IO名前空間を追加した場合にのみ利用できる拡張メソッドです。それはすぐにはわかりませんでした。私はVisual Studio 2015にReSharperを持っていないので、その方法がどこから来ているかを知るためにちょっと掘り下げなければなりませんでした。とにかく、優れた解決策です。 Clemensにもう一度感謝します。 – Eddie