Windows 8 Metro TextBlock动画

时间:2012-06-02 20:43:23

标签: c# windows animation windows-runtime winrt-xaml

在我的地铁应用程序中,我有一个文本块,我将动画为100%不透明度,然后当if语句为真时返回0%不透明度。我该怎么做呢?

我已经做了很多调查,但所有的动画教程让我感到困惑。

1 个答案:

答案 0 :(得分: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();

根据您的情况,使用视觉状态并将故事板定义为可视状态转换可能是理想的。