我有一个需要使用各种尺寸的自定义图像的图形背景的画布,但我想将背景图像的高度和宽度绑定到某些属性 . 现在我有一个显示为背景的图像,但它的大小是固定的 . 事实证明,图像和画笔的宽度和高度属性是只读的 . 无论如何要绑定宽度和高度?
p.s我试过了视口,但它使用了一个rect对象,它的宽度和高度不是依赖属性 . 然后我尝试使用视口的一个图块并将其放在一个矩形中,然后我可以调整矩形的大小以实现我想要的但我无法弄清楚如何将矩形作为画布的背景 . 有任何想法吗?提前致谢 .
一种简单的方法是使用 VisualBrush 作为 Canvas 的背景 . 将拉伸设置为无,然后绑定 Visual 中 Image 的宽度和高度
VisualBrush
Canvas
Visual
Image
<Canvas ...> <Canvas.Background> <VisualBrush Stretch="None"> <VisualBrush.Visual> <Image Source="SomeSource" Stretch="Fill" Width="{Binding ...}" Height="{Binding ...}"/> </VisualBrush.Visual> </VisualBrush> </Canvas.Background> <!--...--> </Canvas>
不能说我设法按照你要做的事情完成,但你可以使用VisualBrush将Rectangle作为画布的背景 .
我有点确定你正在做的事情可以很容易地解决 - 但我真的不明白你在做什么 .
2 回答
一种简单的方法是使用
VisualBrush
作为Canvas
的背景 . 将拉伸设置为无,然后绑定Visual
中Image
的宽度和高度不能说我设法按照你要做的事情完成,但你可以使用VisualBrush将Rectangle作为画布的背景 .
我有点确定你正在做的事情可以很容易地解决 - 但我真的不明白你在做什么 .