首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >VisualBrush WPF显示

VisualBrush WPF显示
EN

Stack Overflow用户
提问于 2014-08-05 02:27:28
回答 1查看 1.6K关注 0票数 2

我有一个画布,其中包含不同的UserControls在WPF/XAML。在其中一个控件中,我有一个区域必须是透明的,这样它后面的元素才是可见的。然而,由于这个控件的复杂结构,我不能简单地将背景设置为透明的,因为在该用户控件中有另一个元素,比如说在它后面移动,不能是透明的。所以我希望有一个看起来透明的区域,尽管它背后还有其他东西。

我能想到的唯一办法就是使用一个VisualBrush,将画布上的那个区域精确地显示在该区域的顶部,如果它是透明的,就必须看起来像这样。我想在WPF而不是XAML中做到这一点,因为我需要精确地调整viewbox,以便内容恰好是该部分后面的内容。然而,这似乎根本不起作用。下面是WPF代码:

代码语言:javascript
复制
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代码中定义的边框,它必须是透明的(它具有一定的宽度和高度)。我还没有设置viewbox属性,因为这已经不起作用了。我希望画布的至少一部分已经在我的“borderTest”中显示出来了……有人知道我的问题,或者可以给我指出一些他们做类似事情的代码?我已经在互联网上找到了很多东西,但我不能让这个东西工作。

EN

回答 1

Stack Overflow用户

发布于 2014-08-05 22:29:36

好吧,我用一种不同的方式解决了这个问题:我在我的用户控件中的画布上添加了一个剪贴区,在需要透明的区域,这样什么都不会显示在那里,这样背景中的画布就会变得可见。不管怎样,谢谢你!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25125185

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档