首页 > 解决方案 > 如何在 UWP 中为文本颜色设置动画?

问题描述

我需要一个为文本控件(TextBlock、TextBox)的画笔设置动画的示例。当文本块/框的值发生变化时,我想用红色突出显示它,然后让它淡化为黑色。这在 WPF 中很容易完成,但我在 UWP 中找不到任何示例。

标签: animationuwp

解决方案


在 UWP 中,动画可以通过Storyboard. 根据你的需要,你想要的应该是ColorAnimation

这是一个例子:

xml

<Page.Resources>
    <Storyboard x:Name="InputBoxBorderAnimation">
        <ColorAnimation Duration="0:0:1" From="Red" To="Black" Storyboard.TargetName="MyTextBox"
                        Storyboard.TargetProperty="(MyTextBox.BorderBrush).(SolidColorBrush.Color)"/>
    </Storyboard>
</Page.Resources>

<Grid>
    <TextBox x:Name="MyTextBox" HorizontalAlignment="Center" 
             VerticalAlignment="Center" Width="300" TextChanged="MyTextBox_TextChanged"/>
</Grid>

xml.cs

private void MyTextBox_TextChanged(object sender, TextChangedEventArgs e)
{
    InputBoxBorderAnimation.Begin();
}

这将在您每次在文本框中输入文本时更改边框颜色。

如果您想了解有关 UWP 动画的更多信息,这些文档可能会对您有所帮助:


推荐阅读