Как нарисовать этот путь 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 снабжен примерами и подробными объяснениями.

Другие вопросы по тегам