我需要確定一個WPF控件的可見區域/區域與其他控件重疊考慮透明度。如何檢索考慮透明度的其他控件重疊的WPF控件的可見區域/區域?
考慮以下情形: 在畫布上
三個控件。藍色和綠色與第三個重疊。綠色的有一個透明的矩形區域。是否有可能有問題地得到紅色矩形標記的可見區域1,2,3?
類似的東西來(以下API不存在):
Geometry[] visibleAreas = VisualTreeHelper.GetVisibleGeometry(controlInTheBack);
在此先感謝您的任何建議。
更新:
我試着使用DrawingGroup drawingGroup = VisualTreeHelper.GetDrawing(視覺),以獲得各控制的幾何形狀。
然後在重疊控件上使用CombinedGeometry和GeometryCombineMode =「Union」來獲得重疊區域。
然後使用CombinedGeometry和GeometryCombineMode =「排除」後面控件的幾何圖形和聯合的結果來獲取可見區域。
問題是VisualTreeHelper.GetDrawing(control)返回null。
該鏈接不再可用:( –