1

我需要一种方法来组合多个 EllipseGeometry 以在它们之间建立一个联合,但 CombineGeometry 类只能组合 2 个几何。理想的方法是拥有一个类似于 CombineGeometry 的类,它接受的不仅仅是 Geometry1 和 Geometry2 形状。
任何人都知道做出这种行为的对象吗?

4

1 回答 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 回答