1

複数のEllipseGeometryを組み合わせてそれらを結合する方法が必要ですが、CombineGeometryクラスは2つのジオメトリしか組み合わせることができません。理想的な方法は、Geometry1およびGeometry2の形状以上のものを受け入れるCombineGeometryと同様のクラスを持つことです。
誰かがそのような振る舞いをするオブジェクトを知っていますか?

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>

編集 3つ以上の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 に答える