13

UIElement.Clip属性接受一个Geometry对象并使用它来剪掉UIElement. 我想做几何逆运算并在元素上打一个孔。

有人知道怎么做吗?

我想创建剪辑几何的倒置版本会起作用,但我找不到这样做的方法。


编辑似乎 WPFGeometry.Combine可以用来从另一个几何体中减去一个几何体,尽管这在 Silverlight 中不可用。如果是这样,我可以从元素的边界矩形的矩形中减去剪辑几何,然后用它来剪辑。

4

1 回答 1

16

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>
于 2011-10-09T20:12:42.273 回答