2012-06-02 3 views
4

В моем приложении metro у меня есть текстовый блок, который я бы хотел оживить до 100% непрозрачности, а затем обратно непрозрачность 0%, когда оператор if истинен. Как мне это сделать?анимация TextBlock Windows 8

Я много сделал, оглядываясь по сторонам, но все уроки анимации меня смущают.

ответ

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(); 

В зависимости от вашего сценария может быть идеальным использование визуальных состояний и определение раскадровки как визуального переход.