C# 绑定到裁剪位图SourceRect
我有一个Rect依赖属性CropMediumRect,它保存图像的裁剪坐标 当我将它绑定到裁剪位图的SourceRect属性时,什么都没有发生。它显示了完整的图像。 但是,当我将CropMediumRect的值直接放在SourceRect中时,它确实起作用 为什么它不能与绑定一起工作 非工作代码:C# 绑定到裁剪位图SourceRect,c#,wpf,image,crop,C#,Wpf,Image,Crop,我有一个Rect依赖属性CropMediumRect,它保存图像的裁剪坐标 当我将它绑定到裁剪位图的SourceRect属性时,什么都没有发生。它显示了完整的图像。 但是,当我将CropMediumRect的值直接放在SourceRect中时,它确实起作用 为什么它不能与绑定一起工作 非工作代码: <Image MaxHeight="55" MaxWidth="55" Stretch="Uniform" Margin="5"> &
<Image MaxHeight="55"
MaxWidth="55"
Stretch="Uniform"
Margin="5">
<Image.Source>
<CroppedBitmap Source="{Binding Photo.MediumUrl, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
SourceRect="{Binding CropMediumRect}" >
</CroppedBitmap>
</Image.Source>
<Image MaxHeight="55"
MaxWidth="55"
Stretch="Uniform"
Margin="5">
<Image.Source>
<CroppedBitmap Source="{Binding Photo.MediumUrl, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
SourceRect="131 0 500 500" >
</CroppedBitmap>
</Image.Source>
工作代码:
<Image MaxHeight="55"
MaxWidth="55"
Stretch="Uniform"
Margin="5">
<Image.Source>
<CroppedBitmap Source="{Binding Photo.MediumUrl, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
SourceRect="{Binding CropMediumRect}" >
</CroppedBitmap>
</Image.Source>
<Image MaxHeight="55"
MaxWidth="55"
Stretch="Uniform"
Margin="5">
<Image.Source>
<CroppedBitmap Source="{Binding Photo.MediumUrl, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
SourceRect="131 0 500 500" >
</CroppedBitmap>
</Image.Source>
我确实在输出窗口中看到一个错误:BindingExpression生成的值对于目标属性无效。;Value='131,0500500'但我看不出有什么问题。
手动输入值时也是一样。
裁剪位图。SourceRect
要求值为System.Windows.Int32Rect
类型并绑定到System.Windows.Rect
类型的属性将不起作用。而您的CropMediumRect
是System.Windows.Int32Rect
?@dkozl不,它是一个Rect。我已将其更改为Int32Rect,现在它工作正常。多么愚蠢:)如果你回答这个帖子,我会记下你的答案。