有一个与此类似的帖子,其中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;
}
}
更新
This解释了为什么这不像NETscape所指出的那样有效。