c# – 如何检索WPF控件的可见区域/区域,考虑透明度,其他控件重叠
发布时间:2020-12-15 21:25:59 所属栏目:百科 来源:网络整理
导读:我需要考虑透明度来确定 WPF控件的可见区域/区域与其他控件重叠. 请考虑以下情形: 画布上的三个控件.蓝色和绿色与第三??个重叠.绿色的有一个透明的矩形区域.是否有可能有问题地得到红色矩形标记的可见区域1,2,3? 类似的东西(以下API不存在): Geometry[] v
我需要考虑透明度来确定
WPF控件的可见区域/区域与其他控件重叠.
请考虑以下情形: 画布上的三个控件.蓝色和绿色与第三??个重叠.绿色的有一个透明的矩形区域.是否有可能有问题地得到红色矩形标记的可见区域1,2,3? 类似的东西(以下API不存在): Geometry[] visibleAreas = VisualTreeHelper.GetVisibleGeometry(controlInTheBack); 在此先感谢您的任何建议. 更新: 我试图使用DrawingGroup drawingGroup = VisualTreeHelper.GetDrawing(visual)来获取每个控件的几何. 然后在重叠控件上使用CombinedGeometry和GeometryCombineMode =“Union”来获取重叠区域. 然后在后面的控件的几何体和union的结果之间使用CombinedGeometry和GeometryCombineMode =“Exclude”来获得可见区域. 问题是VisualTreeHelper.GetDrawing(控件)返回null. 解决方法
你有没有尝试过使用HitTest?它可能会有所帮助
http://msdn.microsoft.com/en-us/library/ms752097.aspx (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |