有一篇与此完全相同的帖子,其中 TS 将 Rect 而不是 Int32Rect 绑定到 CroppedBitmap 的 SourceRect 属性。我目前的代表不允许我发表评论以提出更多问题,所以我发布了一个新问题。下面的代码是否有任何原因导致图像未被裁剪。
视图模型
public class ViewModel
{
public Int32Rect SourceRect { set; get; }
public ViewModel()
{
this.SourceRect = new Int32Rect(5, 5, 5, 5);
}
}
XAML
<Grid Name="myGrid">
<Grid.Resources>
<BitmapImage x:Key="mainImage" UriSource="someImage.bmp"/>
</Grid.Resources>
<StackPanel>
<Image>
<Image.Source>
<CroppedBitmap Source="{StaticResource mainImage}" SourceRect="{Binding SourceRect}" />
</Image.Source>
</Image>
</StackPanel>
</Grid>
XAML.cs
public partial class MainWindow : Window
{
public MainWindow ()
{
InitializeComponent();
ViewModel viewModel = new ViewModel();
this.DataContext = viewModel;
}
}
更新
这解释了为什么这不像 NETscape 所指出的那样起作用。