如何在Silverlight / WPF中反转剪裁几何?

时间:2011-10-09 18:29:02

标签: .net silverlight geometry clipping clip

UIElement.Clip属性使用Geometry对象并使用它来剪切UIElement的外部。我想做几何逆,然后在元素上打一个洞。

任何人都知道怎么做?

我想创建一个反转版本的剪辑几何图形会起作用,但我找不到办法来做到这一点。


编辑似乎WPF有Geometry.Combine可用于从一个几何体中减去一个几何体,尽管这在Silverlight中不可用。如果是,我可以从元素的边界矩形的矩形中减去剪辑几何,并使用它来剪切。

1 个答案:

答案 0 :(得分:15)

Silverlight中的一种方法是使用GeometryGroup并在组中包含一个从远处负面位置开始的非常大的矩形。

例如,以下蓝色方块的方孔较小: -

    <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>