Rempli les Arcs en WPF

Je suis en train de dessiner une figure quelque chose comme ceci:Rempli les Arcs en WPF

J'ai besoin d'avoir un élément unique pour chaque segment d'arc que je peux gérer les événements sur et recolorer que j'en ai besoin. Je suis un peu incertain sur la façon de créer des géométries en WPF. Je peux facilement calculer les quatre points pour chaque segment d'arc du rayon des cercles et l'angle du centre. À l'aide d'un rayon de 100 pour le cercle extérieur et 50 pour l'intérieur, les quatre points en rouge sont (dans le sens horaire à partir du haut à gauche avec origine au sommet du cercle):

0,0
70,30
35,65
0,50

L'aide de ces points j'ai créer un chemin simple pour dessiner le segment:

<Path Stroke="Black" Fill="Black" StrokeThickness="1" >
  <Path.Data>
    <PathGeometry>
      <PathGeometry.Figures>
        <PathFigure StartPoint="0,0">
          <PathFigure.Segments>
            <ArcSegment Point="70,30" />
            <LineSegment Point="35,65" />
            <ArcSegment Point="0,50" />
          </PathFigure.Segments>
        </PathFigure>
      </PathGeometry.Figures>
    </PathGeometry>
  </Path.Data>
</Path>

Mais qui attire tout un trapèze avec des lignes droites. Je sais que je peux modifier la Taille sur le ArcSegments, mais je n'arrive pas à comprendre comment cela affecte la courbure. Je veux que les arcs de suivre le cercle principal, mais je ne suis pas sûr de savoir comment exprimer cela. Comment puis-je faire les arcs ont le droit de courbure?

Aussi, comment puis-je exprimer et d'ajouter les chemins d'accès dans le code c# derrière,plutôt que dans le code xaml?

Cool, qu'est-ce?
C'est pour un jeu de plateau, je travaille sur.
Size est utilisé comme Size="XX,YY"XX est le rayon x et YY est le y-rayon de l'arc. Pour un parfait arc de cercle, vous voulez ceux à être égaux. En passant par les tailles que vous a donné, il doit être 50,50 pour l'intérieur de votre arc et 100,100 pour l'extérieur.

OriginalL'auteur captncraig | 2011-05-23