Как нарисовать этот путь WPF в C#
Я изо всех сил пытался преобразовать этот кусок кода WPF в C#. Я относительно новичок в WPF, и я действительно надеюсь, что кто-то может помочь мне здесь:)
<Path Fill="Blue" Margin="15,15,15,15">
<Path.Data>
<EllipseGeometry x:Name="MyAnimatedEllipseGeometry"
Center="10,100" RadiusX="15" RadiusY="15" />
</Path.Data>
<Path.Triggers>
<EventTrigger RoutedEvent="Path.Loaded">
<BeginStoryboard Name="MyBeginStoryboard">
<Storyboard>
<!-- Animates the ellipse along the path. -->
<PointAnimationUsingPath
Storyboard.TargetName="MyAnimatedEllipseGeometry"
Storyboard.TargetProperty="Center"
Duration="0:0:5"
RepeatBehavior="Forever" >
<PointAnimationUsingPath.PathGeometry>
<PathGeometry
Figures="M 10,100 C 35,0 135,0 160,100 135,0 35,0 10,100"
/>
</PointAnimationUsingPath.PathGeometry>
</PointAnimationUsingPath>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</Path.Triggers>
</Path>
</Canvas>
Казалось, я прекрасно ладил, пока не попал на фигуры PathGeometry... Если кто-нибудь может предоставить мне фрагмент кода C# этого кода WPF, это будет очень цениться!
2 ответа
Я бы рекомендовал прочитать следующую статью MSDN.
"M 10,100 C 35,0 135,0 160,100 135,0 35,0 10,100"
Означает следующее: начать с (10 100). Добавьте "кубическую кривую Безье", заканчивающуюся в 10 100 с контрольными точками (35,0), (135,0), (160 100), (135,0), (35,0).
Как я понимаю. Такой текст должен легко отображаться в PathSegmentCollection.
Это то, что вы ищете: PointAnimationUsingPath.PathGeometry. Есть подробный пример того, как решить вашу проблему, который показывает, как использовать объект PointAnimationUsingPath, чтобы анимировать точку вдоль изогнутого пути. Для полного образца; и если вы не хотите использовать раскадровку: Как: анимировать свойство без использования раскадровки. Имейте в виду, что MSDN снабжен примерами и подробными объяснениями.