该UIElement.Clip
属性接受一个Geometry
对象并使用它来剪掉UIElement
. 我想做几何逆运算并在元素上打一个孔。
有人知道怎么做吗?
我想创建剪辑几何的倒置版本会起作用,但我找不到这样做的方法。
编辑似乎 WPFGeometry.Combine
可以用来从另一个几何体中减去一个几何体,尽管这在 Silverlight 中不可用。如果是这样,我可以从元素的边界矩形的矩形中减去剪辑几何,然后用它来剪辑。
该UIElement.Clip
属性接受一个Geometry
对象并使用它来剪掉UIElement
. 我想做几何逆运算并在元素上打一个孔。
有人知道怎么做吗?
我想创建剪辑几何的倒置版本会起作用,但我找不到这样做的方法。
编辑似乎 WPFGeometry.Combine
可以用来从另一个几何体中减去一个几何体,尽管这在 Silverlight 中不可用。如果是这样,我可以从元素的边界矩形的矩形中减去剪辑几何,然后用它来剪辑。
Silverlight 中的一种方法是使用 aGeometryGroup
并将一个非常大的矩形包含在组中,该矩形从远处的负位置开始。
例如下面的蓝色方块有较小的方孔:-
<Rectangle Fill="Blue" HorizontalAlignment="Center" VerticalAlignment="Center" Height="200" Width="200">
<Rectangle.Clip>
<GeometryGroup>
<RectangleGeometry Rect="-2048 -2048 4096 4096" />
<RectangleGeometry Rect="100 100 50 50" />
</GeometryGroup>
</Rectangle.Clip>
</Rectangle>