コントロールにイメージの固定部分を表示しようとしています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))
ArgumentExceptionWeb リソースからの読み込み時に、値が予想範囲外であるとのメッセージが表示されます。これは、イメージがまだロードされていないため、サイズがないためだと思います。
CroppedImage画像をプリロードすることなく、これを達成する方法はありますか (必ずしも を使用する必要はありません)。
BitmapImageところで:コントロールにソースとして直接与えることはImageうまくいきますが、もちろんこれはトリミングを行いません。