背景设置为 ImageBrush,strech设置为UniForm.
如果strech属性设置为Fill,那么我可以使用画布的ActualWIDth和ActualHeight.
这对UniForm来说是不可能的,所以我该如何处理呢?
这是我的XAML:
<GrID DataContext="{Binding ImageVIEwerVM.Currentimage}"> <controls:RubberBandingCanvas x:name="RubCanvas"> <controls:RubberBandingCanvas.Resources> <Converters:ControlVisibilityConverter x:Key="VisibilityHIDdenConverter" /> <Converters:StringToBitmapConverter x:Key="StringToBitmapConverter" /> </controls:RubberBandingCanvas.Resources> <controls:RubberBandingCanvas.Background> <ImageBrush x:name="ibCurrentimage" ImageSource="{Binding Path=Path,Converter={StaticResource StringToBitmapConverter}}" Stretch="Uniform"></ImageBrush> </controls:RubberBandingCanvas.Background> <Ellipse Canvas.top="10" Canvas.Right="10" Fill="Red" stroke="Black" Height="15" WIDth="15" Visibility="{Binding Path=IsMultiTiff,Converter={StaticResource VisibilityHIDdenConverter}}"/> </controls:RubberBandingCanvas></GrID>
最好的祝福,
杰斯珀詹森
var ratio = Math.Min(RubCanvas.RenderSize.WIDth / CanvasBackground.ImageSource.WIDth,RubCanvas.RenderSize.Height / CanvasBackground.ImageSource.Height);var imageBrushWIDth = CanvasBackground.ImageSource.WIDth * ratio;var imageBrushHeight = CanvasBackground.ImageSource.Height * ratio;总结
以上是内存溢出为你收集整理的c# – 获取画布背景的图像画笔控件的实际大小全部内容,希望文章能够帮你解决c# – 获取画布背景的图像画笔控件的实际大小所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)