你可以在Canf中设置Canvas作为元素的背景吗?

时间:2017-08-28 20:42:21

标签: wpf xaml

如果有人问我这是否有道歉,但我无法找到答案。我有几个需要动态背景的项目(Windows,UserControls和DockPanels)。

Canvas对象非常适合我对动态绘图的需求,但是,我无法弄清楚我是如何(或者甚至)将<Canvas>对象设置为背景的值控制对象。

可以这样做,如果可以,怎么做?

2 个答案:

答案 0 :(得分:1)

是的,你可以这样做。

<Window.Background>
    <VisualBrush>
        <VisualBrush.Visual>
            <Rectangle Width="50" Height="50" Fill="Red"></Rectangle><!-- Replace this with a reference to your Canvas-->
        </VisualBrush.Visual>
    </VisualBrush>
</Window.Background>  

代码是从this site引用的。您还可以使用该背景执行更多操作。喜欢设置剪辑等...
注意
由于您尚未指定正在开发的语言,因此我使用C#语言提供了答案,我不使用VB

答案 1 :(得分:0)

你想用已经填充了元素的Canvas的“内容”来设置控件的Background属性吗? 如果是的话,是的;可以完成此任务从Canvas创建一个Brush。要做到这一点,您需要VisualBrush类。在VB.NET中,使用以下内容:

Dim oBrush As New VisualBrush(myCanvas)
myControl.Background = oBrush

祝你好运,好的代码