13

UIElement.Clipプロパティはオブジェクトを取得し、Geometryそれを使用しての外側を切り取りますUIElement。代わりに、幾何学的な逆を行い、要素に穴を開けたいと思います。

誰もがこれを行う方法を知っていますか?

クリップジオメトリの反転バージョンを作成することは機能すると思いますが、これを行う方法が見つかりません。


編集Geometry.CombineSilverlightでは使用できませんが、WPFにはあるジオメトリを別のジオメトリから減算するために使用できるものがあるようです。もしそうなら、要素の外接する長方形の長方形からクリップジオメトリを差し引き、代わりにそれを使用してクリップすることができます。

4

1 に答える 1

16

Silverlightの1つのアプローチは、を使用して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>
于 2011-10-09T20:12:42.273 に答える