2011-11-18 34 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。

回答

相關問題