我有一个画布,由WPF / XAML中的不同UserControl组成。在其中一个控件中,我有一个必须透明的区域,因此它后面的元素是可见的。但是,由于这个控件的复杂结构,我不能只将背景设置为透明或任何东西,因为在该usercontrol中有另一个元素,可以说在它后面移动而不能透明。所以我希望有一个看似透明的区域,尽管还有其他东西。
我唯一能想到的就是使用一个VisualBrush并在该区域的顶部显示我的画布区域,如果它是透明的,则必须看起来像。我想在WPF而不是XAML中这样做,因为我需要完全调整视图框,以便内容正好是该部分背后的内容。但是,这似乎根本不起作用。这是WPF代码:
Rectangle rect = new Rectangle();
rect.HorizontalAlignment = HorizontalAlignment.Stretch;
rect.VerticalAlignment = VerticalAlignment.Stretch;
VisualBrush VisualBrush1 = new VisualBrush();
VisualBrush1.Visual = MainCanvas;
VisualBrush1.Stretch = Stretch.None;
rect.Fill = VisualBrush1;
RectTest.Child = rect;
BorderTest是我在xaml代码中定义的边框,必须是透明的(它有一定的宽度和高度)。我没有设置视图框属性,因为这已经无效了。我期待画布的至少某些部分已经显示在我的" borderTest" ...中... 有人知道我的问题,或者可以指出一些他们做类似事情的代码?我已经在互联网上找到了很多,但我无法让这件事工作。
答案 0 :(得分:1)
好吧,我以不同的方式解决了这个问题:我在我的用户控件中在我需要透明的区域添加了一个裁剪区域,因此在那里没有显示任何内容,因此背景中的画布变得可见。不管怎么说,还是要谢谢你!