gpt4 book ai didi

c# - VisualBrush WPF 显示

转载 作者:太空宇宙 更新时间:2023-11-03 13:18:42 27 4
gpt4 key购买 nike

我有一个由 WPF/XAML 中的不同 UserControl 组成的 Canvas 。在其中一个控件中,我有一个区域必须是透明的,以便它后面的元素可见。但是,由于此控件的复杂结构,我不能只将背景设置为透明或任何其他内容,因为该用户控件中还有另一个元素可以说在它后面移动并且不能透明。所以我想要一个看起来透明的区域,尽管它后面还有其他东西。

我唯一能想出的办法是使用 VisualBrush 并在该区域的顶部准确显示我的 Canvas 区域,如果它是透明的,该区域必须看起来像。我想在 WPF 而不是 XAML 中执行此操作,因为我需要精确调整 View 框,以便内容正是该部分后面的内容。但是,这似乎根本不起作用。这是 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 代码中定义的边框,它必须是透明的(它具有一定的宽度和高度)。我还没有设置 viewbox 属性,因为这已经不起作用了。我期待 Canvas 的至少一部分已经显示在我的“borderTest”中......有人知道我的问题,或者可以指出一些他们做类似事情的代码?我已经在互联网上找到了很多,但我无法让这个东西工作。

最佳答案

好的,我以不同的方式解决了这个问题:我在我的用户控件中的 Canvas 上添加了一个剪辑区域,该区域需要透明,因此那里没有显示任何内容,因此背景中的 Canvas 变得可见。不管怎么说,还是要谢谢你!

关于c# - VisualBrush WPF 显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25125185/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com