コントロールにイメージの固定部分を表示しようとしていますImage
。Source はBitmapImage
、ディスクまたは Web リソースのいずれかであり、非同期的にロードされます。
使ってみたCroppedImage
<UserControl.Resources>
<CroppedBitmap x:Key="croppedImage" Source="{Binding Image}" SourceRect="20 46 273 202"/>
</UserControl.Resources>
...
<Image x:Name="TemplateImage" Height="202" Width="273" HorizontalAlignment="Left" Source="{StaticResource croppedImage}"/>
これにより、XamlParseException
を作成しようとすると が生成されますCroppedBitmap
。
コードビハインド(C#)でもこれを試しました
new CroppedBitmap(Image, new System.Windows.Int32Rect(20, 46, 273, 202))
ArgumentException
Web リソースからの読み込み時に、値が予想範囲外であるとのメッセージが表示されます。これは、イメージがまだロードされていないため、サイズがないためだと思います。
CroppedImage
画像をプリロードすることなく、これを達成する方法はありますか (必ずしも を使用する必要はありません)。
BitmapImage
ところで:コントロールにソースとして直接与えることはImage
うまくいきますが、もちろんこれはトリミングを行いません。