2009-10-20 65 views
1

我需要一種方法來組合多個EllipseGeometry以在它們之間建立聯合,但CombineGeometry類只能組合2個幾何。 理想的方法是擁有一個類似CombineGeometry的類,它接受比Geometry1和Geometry2更多的形狀。
任何人都知道這樣一個行爲的對象?組合多個橢圓

回答

2

EllipseGeometry是一個幾何過這樣你就可以結合這樣的:

<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 [],並使用上述機制實現方法。