C# 考虑到透明度,如何检索WPF控件中与其他控件重叠的可见区域?
考虑到透明度,我需要确定WPF控件与其他控件重叠的可见区域 考虑以下场景: 画布上的三个控件。蓝色和绿色的与第三个重叠。绿色的有一个透明的矩形区域。是否有可能以红色矩形标记可见区域1、2、3 类似于(以下API不存在): 提前感谢您的建议 更新: 我尝试使用DrawingGroup DrawingGroup=VisualTreeHelper.GetDrawing(visual)来获取每个控件的几何图形 然后在重叠控件上使用CombinGeometry和GeometryCombineMode=“Union”组合几何以获得重叠区域 然后使用CombinedGeometry和GeometryCombineMode=“Exclude”在后面控件的几何图形和并集结果之间进行组合,以获得可见区域C# 考虑到透明度,如何检索WPF控件中与其他控件重叠的可见区域?,c#,wpf,xaml,C#,Wpf,Xaml,考虑到透明度,我需要确定WPF控件与其他控件重叠的可见区域 考虑以下场景: 画布上的三个控件。蓝色和绿色的与第三个重叠。绿色的有一个透明的矩形区域。是否有可能以红色矩形标记可见区域1、2、3 类似于(以下API不存在): 提前感谢您的建议 更新: 我尝试使用DrawingGroup DrawingGroup=VisualTreeHelper.GetDrawing(visual)来获取每个控件的几何图形 然后在重叠控件上使用CombinGeometry和GeometryCombineMode=“
问题是VisualTreeHelper.GetDrawing(控件)返回null。您是否已经尝试使用HitTest?这可能会有帮助
该链接不再可用:(这是新链接
Geometry[] visibleAreas = VisualTreeHelper.GetVisibleGeometry(controlInTheBack);