我需要一种方法来组合多个EllipseGeometry来在它们之间建立联合,但CombineGeometry类只能组合2个Geometries。 理想的方法是使用一个类似于CombineGeometry的类,它接受的不仅仅是Geometry1和Geometry2形状 任何人都知道出现这种行为的对象吗?
答案 0 :(得分:2)
EllipseGeometry也是一个Geometry,所以你可以这样组合:
<CombinedGeometry GeometryCombineMode="Union">
<CombinedGeometry.Geometry1>
<EllipseGeometry RadiusX="70" RadiusY="30" Center="100,150" />
</CombinedGeometry.Geometry1>
<CombinedGeometry.Geometry2>
<EllipseGeometry RadiusX="70" RadiusY="30" Center="200,150" />
</CombinedGeometry.Geometry2>
</CombinedGeometry>
修改强> 要组合三个或更多EllipseGeometries,您可以使用此机制
<CombinedGeometry GeometryCombineMode="Union">
<CombinedGeometry.Geometry1>
<CombinedGeometry GeometryCombineMode="Union">
<CombinedGeometry.Geometry1>
<EllipseGeometry RadiusX="70" RadiusY="30" Center="100,150" />
</CombinedGeometry.Geometry1>
<CombinedGeometry.Geometry2>
<EllipseGeometry RadiusX="70" RadiusY="30" Center="200,150" />
</CombinedGeometry.Geometry2>
</CombinedGeometry>
</CombinedGeometry.Geometry1>
<CombinedGeometry.Geometry2>
<EllipseGeometry RadiusX="70" RadiusY="30" Center="100,150" />
</CombinedGeometry.Geometry2>
</CombinedGeometry>
您可以创建一个派生自Geometry的新类,并在其中包含Geometry []并使用上述机制实现方法。