Gefüllte Bögen in WPF

Ich versuche um eine Figur zu zeichnen, so etwas wie dieses:Gefüllte Bögen in WPF

Brauche ich, um ein einzigartiges element, für jedes Bogensegment, ich kann die Ereignisse verarbeiten und zu färben, wie ich brauche. Ich bin ein bisschen unsicher, wie man die richtigen Geometrien in WPF. Ich kann leicht berechnen die vier Punkte für jeden Kreisbogen vom radius der Kreise und der Winkel von der Mitte. Mit einem radius von 100 für den äußeren Kreis und 50 für die innere, die vier Punkte in rot sind (im Uhrzeigersinn von Links oben mit Ursprung an der Spitze der Kreis):

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

Unter Verwendung dieser Punkte erstelle ich einen einfachen Weg zum zeichnen des Segments:

<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>

Aber das gerade zeichnet ein Trapez mit geraden Linien. Ich weiß, ich kann ändern Sie die Größe auf die ArcSegments, aber ich kann nicht scheinen, um herauszufinden, wie das wirkt sich auf die Krümmung. Ich will die Bögen zu Folgen, der wichtigste Kreis, aber ich bin nicht sicher, wie Sie Sie zum Ausdruck bringen, dass. Wie kann ich die Bögen haben die richtige Krümmung?

Auch, wie kann ich Ausdrücken und hinzufügen der Pfade in der c# - code hinter,sondern in das xaml?

Cool, was ist das?
Es ist ein board game ich arbeite.
Size ist als Size="XX,YY" wo XX ist der x-radius und YY ist die y-radius des Bogen. Für einen perfekt kreisförmigen Bogen, würden Sie wollen, dass diese gleich zu sein. Geht durch die Größen, die Sie gab, sollte es 50,50 für Ihre inneren Bogen und 100,100 für die äußere.

InformationsquelleAutor captncraig | 2011-05-23

Schreibe einen Kommentar