Windows 8 Metro TextBlock 动画

4

在我的Metro应用程序中,我有一个文本块,当if语句为真时,我希望将其动画化为100%不透明度,然后再回到0%不透明度。我该怎么做?

我已经搜索了很多内容,但所有的动画教程都让我感到困惑。

1个回答

5
您可以在C#中执行以下操作,从0到1进行动画处理:
var sb = new Storyboard();
opacityAnimation = new DoubleAnimation
{
    From = 0.0,
    To = 1.0,
    Duration = TimeSpan.FromSeconds(1.5)
};
Storyboard.SetTarget(opacityAnimation, textBlock);
Storyboard.SetTargetProperty(opacityAnimation, "Opacity");
sb.Children.Add(opacityAnimation);
sb.Begin();

你也可以在XAML中定义它:
<Storyboard
    x:Name="fadeInStoryboard"
    Storyboard.TargetName="myTextBlock"
    Storyboard.TargetProperty="Opacity">
    <DoubleAnimation
        From="0"
        To="1.0"
        Duration="0:0:1.5" />
</Storyboard>

-- 然后在代码后台启动它:
fadeInStoryboard.Begin();

根据你的情况,最好使用视觉状态,并将Storyboard定义为视觉状态转换。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接