2017-03-22 17 views
1

Ich habe diesen Code:Wie man einen Reverse-Pfad

<Path Stroke="Black" Margin="15"> 
    <Path.Data> 
     <PathGeometry> 
      <PathFigure StartPoint="150,100"> 
       <ArcSegment Size="50,50" Point="50,50" /> 
      </PathFigure> 
     </PathGeometry> 
    </Path.Data> 
</Path> 

und der resultierende Pfad ist dies:

enter image description here

Ich mag den umgekehrten Weg machen:

enter image description here

Aber ich möchte dies ohne den StartP machen oint und der ArcSegment Point, weil ich diesen Pfad benötige, um einen DoubleAnimationUsingPath zu erstellen (Wenn ich StartPoint auf 50,50 und den ArcSegmentPoint auf 150,100 setze, ist die Zahl in Ordnung, aber die Animation geht in den umgekehrten Modus).

Antwort

1

Die Lösung für diesen speziellen Fall ist ziemlich einfach, setzen Sie einfach SweepDirection="Clockwise" auf Ihrem ArcSegment. Wenn dies nur ein Beispiel und nicht Ihr tatsächlicher Anwendungsfall wäre, könnten Sie mehr Code (z. B. die Animation) einbeziehen.

<Path Stroke="Black" Margin="15"> 
    <Path.Data> 
     <PathGeometry> 
      <PathFigure StartPoint="150,100"> 
       <ArcSegment SweepDirection="Clockwise" Size="50,50" Point="50,50" /> 
      </PathFigure> 
     </PathGeometry> 
    </Path.Data> 
</Path> 

Nur falls Sie es brauchen, gibt es auch eine IsLargeArc Einstellung, die Sie wechseln könnten, wenn Sie eine bestimmte Schwelle erreichen (abhängig von Ihrem Anwendungsfall).

Beispiel Ergebnis:

Example Animation Result