C# 如何在WPF xaml中制作反弹标签?(C)

C# 如何在WPF xaml中制作反弹标签?(C),c#,wpf,xaml,animation,C#,Wpf,Xaml,Animation,我被学校作业缠住了,作业很快就会准备好,所以我希望有人能帮我。我已经找了几个小时的解决办法了。我相信这是一件很简单的事情,但我就是搞不懂 所以我试图让一个标签在一个特定的区域内移动,这样它就可以从一个用from/to定义的区域的边界上反弹,并获得一个新的方向。到目前为止,我只设法让它上下移动,左右移动,或从一个角落到另一个角落,但不是每个方向。我不知道我该如何实现这一点。这是我的xaml代码: <Canvas Height="60" HorizontalAlignment="Lef

我被学校作业缠住了,作业很快就会准备好,所以我希望有人能帮我。我已经找了几个小时的解决办法了。我相信这是一件很简单的事情,但我就是搞不懂

所以我试图让一个标签在一个特定的区域内移动,这样它就可以从一个用from/to定义的区域的边界上反弹,并获得一个新的方向。到目前为止,我只设法让它上下移动,左右移动,或从一个角落到另一个角落,但不是每个方向。我不知道我该如何实现这一点。这是我的xaml代码:

    <Canvas Height="60" HorizontalAlignment="Left" Margin="138,0,0,0" Name="canvas1" VerticalAlignment="Top" Width="227">
        <Label Content="GKO" Height="40" Name="labelGKO" Canvas.Left="19" Canvas.Top="6" Width="61" FontSize="8">
            <Label.Triggers>
                <EventTrigger RoutedEvent="Canvas.Loaded">
                    <BeginStoryboard>
                        <Storyboard TargetName="labelGKO" RepeatBehavior="Forever">
                            <DoubleAnimation
                                Storyboard.TargetProperty="(Canvas.Left)"
                                From="0"  To="180" Duration="0:0:1"/>
                            <DoubleAnimation
                                Storyboard.TargetProperty="(Canvas.Top)"
                                From="0" To="50" Duration="0:0:1"
                                AutoReverse="True" />
                            <DoubleAnimation
                                Storyboard.TargetProperty="(Label.FontSize)"
                                To="24" Duration="0:0:1"
                                AutoReverse="True" />
                        </Storyboard>
                    </BeginStoryboard>
                </EventTrigger>
            </Label.Triggers>
        </Label>
    </Canvas>

这使标签从左上角移动到右下角,然后再向上移动。然后从头开始。很明显,我不明白背后的逻辑。我应该制作多个故事板还是双动画?或者我可以在一个动画中以某种方式更改标签的路线吗?在标签到达边界后,我如何才能告诉它到底要去哪里?

你不会从故事板上看到跳跃行为。您需要编写一些按常规计划运行逻辑的代码。请尝试将设置为true。