WPF文本块动画

时间:2016-07-21 07:35:44

标签: wpf textblock wpf-animation

如何实现 THIS 类型的动画?我是WPF的新手。 我在WPF中尝试使用DoubleAnimation但未达到目标。

当我在分数更新时从17到23更新分数,就像在视频中更新分数一样。

谢谢!

1 个答案:

答案 0 :(得分:2)

试试这个。

<Window x:Class="WpfApplication1.AnimWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    xmlns:local="clr-namespace:WpfApplication1"
    mc:Ignorable="d"
    Title="AnimWindow" Height="300" Width="300">

<Window.Triggers>
    <EventTrigger RoutedEvent="Window.Loaded">
        <BeginStoryboard>
            <Storyboard>
                <DoubleAnimation Storyboard.TargetName="PointsNew" To="1.0" Storyboard.TargetProperty="Opacity" Duration="0:0:0.5" />
                <DoubleAnimation Storyboard.TargetName="PointsOld" To="0.0" Storyboard.TargetProperty="Opacity" Duration="0:0:0.5" />
                <ThicknessAnimation Storyboard.TargetName="PointsNew" From="0 -32 0 0" To="0 0 0 0" Storyboard.TargetProperty="Margin" Duration="0:0:0.5" />
                <ThicknessAnimation Storyboard.TargetName="PointsOld" To="0 32 0 0" Storyboard.TargetProperty="Margin" Duration="0:0:0.5" />
            </Storyboard>
        </BeginStoryboard>
    </EventTrigger>
</Window.Triggers>

<Grid>
    <Border HorizontalAlignment="Center" VerticalAlignment="Center" Opacity="0.0" x:Name="PointsNew">
        <TextBlock Text="23" FontSize="96" FontWeight="Bold" />
    </Border>
    <Border HorizontalAlignment="Center" VerticalAlignment="Center" Opacity="1.0" x:Name="PointsOld">
        <TextBlock Text="17" FontSize="96" FontWeight="Bold" />
    </Border>
</Grid></Window>

尝试使用保证金,持续时间等等! : - )