我需要一种方法来组合多个 EllipseGeometry 以在它们之间建立一个联合,但 CombineGeometry 类只能组合 2 个几何。理想的方法是拥有一个类似于 CombineGeometry 的类,它接受的不仅仅是 Geometry1 和 Geometry2 形状。
任何人都知道做出这种行为的对象吗?
问问题
2099 次
1 回答
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[] 并使用上述机制实现方法。
于 2009-10-20T11:14:51.360 回答