Como: Criar uma geometria combinada
Este exemplo mostra como combinar geometrias. Para combinar dois geometrias, use um objeto CombinedGeometry. Definir as propriedades Geometry1 e Geometry2 com as duas geometrias a serem combinadas e defina a propriedade GeometryCombineMode, que determina como as geometrias serão combinadas em conjunto, para Union,e Intersect,Exclude, ou Xor.
Para criar uma geometria composta de duas ou mais geometrias, use um GeometryGroup.
Exemplo
No exemplo a seguir, um CombinedGeometry é definido com um modo de combinação de geometria de Exclude. Ambos Geometry1 e o Geometry2 são definidos como círculos de mesmo raio, mas com centros deslocados de 50.
<Path Stroke="Black" StrokeThickness="1" Fill="#CCCCFF">
<Path.Data>
<!-- Combines two geometries using the exclude combine mode. -->
<CombinedGeometry GeometryCombineMode="Exclude">
<CombinedGeometry.Geometry1>
<EllipseGeometry RadiusX="50" RadiusY="50" Center="75,75" />
</CombinedGeometry.Geometry1>
<CombinedGeometry.Geometry2>
<EllipseGeometry RadiusX="50" RadiusY="50" Center="125,75" />
</CombinedGeometry.Geometry2>
</CombinedGeometry>
</Path.Data>
</Path>
Combined Geometry Exclude
No exemplo a seguir, um CombinedGeometry é definido com um modo de combinação Intersect. Ambos Geometry1 e o Geometry2 são definidos como círculos de mesmo raio, mas com centros deslocados de 50.
<Path Stroke="Black" StrokeThickness="1" Fill="#CCCCFF">
<Path.Data>
<!-- Combines two geometries using the intersect combine mode. -->
<CombinedGeometry GeometryCombineMode="Intersect">
<CombinedGeometry.Geometry1>
<EllipseGeometry RadiusX="50" RadiusY="50" Center="75,75" />
</CombinedGeometry.Geometry1>
<CombinedGeometry.Geometry2>
<EllipseGeometry RadiusX="50" RadiusY="50" Center="125,75" />
</CombinedGeometry.Geometry2>
</CombinedGeometry>
</Path.Data>
</Path>
Combined Geometry Intersect
No exemplo a seguir, um CombinedGeometry é definido com um modo de combinação Union. Ambos Geometry1 e o Geometry2 são definidos como círculos de mesmo raio, mas com centros deslocados de 50.
<Path Stroke="Black" StrokeThickness="1" Fill="#CCCCFF">
<Path.Data>
<!-- Combines two geometries using the union combine mode. -->
<CombinedGeometry GeometryCombineMode="Union">
<CombinedGeometry.Geometry1>
<EllipseGeometry RadiusX="50" RadiusY="50" Center="75,75" />
</CombinedGeometry.Geometry1>
<CombinedGeometry.Geometry2>
<EllipseGeometry RadiusX="50" RadiusY="50" Center="125,75" />
</CombinedGeometry.Geometry2>
</CombinedGeometry>
</Path.Data>
</Path>
Combined Geometry Union
No exemplo a seguir, um CombinedGeometry é definido com um modo de combinação Xor. Ambos Geometry1 e o Geometry2 são definidos como círculos de mesmo raio, mas com centros deslocados de 50.
<Path Stroke="Black" StrokeThickness="1" Fill="#CCCCFF">
<Path.Data>
<!-- Combines two geometries using the XOR combine mode. -->
<CombinedGeometry GeometryCombineMode="Xor">
<CombinedGeometry.Geometry1>
<EllipseGeometry RadiusX="50" RadiusY="50" Center="75,75" />
</CombinedGeometry.Geometry1>
<CombinedGeometry.Geometry2>
<EllipseGeometry RadiusX="50" RadiusY="50" Center="125,75" />
</CombinedGeometry.Geometry2>
</CombinedGeometry>
</Path.Data>
</Path>
Combined Geometry Xor