gpt4 book ai didi

c# - 考虑到透明度,如何检索与其他控件重叠的 WPF 控件的可见区域?

转载 作者:行者123 更新时间:2023-11-30 12:50:53 26 4
gpt4 key购买 nike

考虑到透明度,我需要确定与其他控件重叠的 WPF 控件的可见区域。

考虑以下场景: enter image description here

Canvas 上的三个控件。蓝色和绿色的与第三个重叠。绿色的有一个透明的矩形区域。是否有可能有问题地获得用红色矩形标记的可见区域 1、2、3?

类似于(以下 API 不存在):

Geometry[] visibleAreas = VisualTreeHelper.GetVisibleGeometry(controlInTheBack);

提前感谢您的任何建议。

更新:

我尝试使用 DrawingGroup drawingGroup = VisualTreeHelper.GetDrawing(visual) 来获取每个控件的几何图形。

然后在重叠控件上使用 CombinedGeometry 和 GeometryCombineMode="Union"来获取重叠区域。

然后使用CombinedGeometry with GeometryCombineMode="Exclude"将后面控件的几何图形与并集的结果进行获取可见区域。

问题是 VisualTreeHelper.GetDrawing(control) 返回 null。

最佳答案

您是否已经尝试过使用 HitTest?可能会有帮助

http://msdn.microsoft.com/en-us/library/ms752097.aspx

关于c# - 考虑到透明度,如何检索与其他控件重叠的 WPF 控件的可见区域?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8178413/

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