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