画像を境界線の背景として DataBinding を使用しようとすると、WPF で問題が発生しました。この方法で画像をレンダリングしても問題ありません。
<Image Name="imgPlayer" Width="100" Height="100"
Source="{Binding Converter={StaticResource ImageConverter}, Path=Image}"
/>
私の DefaultImageConverter は、画像が null かどうかをチェックするだけで、そうであれば、プロジェクトに埋め込まれたリソースである「画像がありません」BitmapImage を返します。これもうまくいきます。
重要かどうかはわかりませんが、イメージは実際には MS SQL Server CE の Image フィールドから取得されており、対応する Entity フィールドは実際にはバイト配列です。ただし、問題なく動作します。
次に、見栄えを良くするために、画像の周りに単純な丸い境界線を配置することにしました。私の最初の試みは、境界線と画像を含むキャンバスを使用することでしたが、正方形の画像は境界線の丸い部分を塗りつぶします。いくつか調べたところ、境界線の背景として実際に画像をペイントできることがわかりました。これは私が思いついたものです:
<Border Height="100" Width="100" BorderBrush="Gray" CornerRadius="10" BorderThickness="5">
<Border.Background>
<ImageBrush>
<ImageBrush.ImageSource>
<BitmapImage StreamSource="{Binding Converter={StaticResource ImageConverter}, Path=Image}"/>
</ImageBrush.ImageSource>
</ImageBrush>
</Border.Background>
</Border>
私の問題は、UriSource または StreamSource を設定する必要があることを示す XML 解析エラーが発生することです。StreamSource を設定しています。また、UriSource を設定しようとしました (同じ問題が発生しているが、UriSource を使用しているという、同様ではあるが反対の問題が見つかりました) と、同じ問題が発生します。
実行されますが、このイメージを参照しようとすると失敗します。
本当に、画像が角を塗りつぶさずに、画像の周りに丸い境界線を置きたいだけです。これを行うためのまったく異なる方法があれば、それも同様に機能します。
うまくいけば、これは理にかなっています!
よろしく、マイク