0

我一直在努力将这段 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 Figures 之前,我似乎相处得很好……如果有人可以向我提供此 WPF 代码的 C# 代码片段,将不胜感激!

4

2 回答 2

3

我建议阅读以下 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 中。

于 2012-04-16T08:09:44.297 回答
1

这就是您要查找的内容:PointAnimationUsingPath.PathGeometry。有一个如何解决您的问题的详细示例,它显示了如何使用 PointAnimationUsingPath 对象沿曲线路径为 Point 设置动画。对于一个完整的样本;如果您不想使用 Storyboard:如何:在不使用 Storyboard 的情况下为属性设置动画。请记住,MSDN 提供了示例和详细说明

于 2012-04-16T10:20:32.237 回答