2011-11-18 29 views
3

我需要确定一个WPF控件的可见区域/区域与其他控件重叠考虑透明度。如何检索考虑透明度的其他控件重叠的WPF控件的可见区域/区域?

考虑以下情形: 在画布上enter image description here

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

类似的东西来(以下API不存在):

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

在此先感谢您的任何建议。

更新:

我试着使用DrawingGroup drawingGroup = VisualTreeHelper.GetDrawing(视觉),以获得各控制的几何形状。

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

然后使用CombinedGeometry和GeometryCombineMode =“排除”后面控件的几何图形和联合的结果来获取可见区域。

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

回答

相关问题