更新Textblocks文本时触发动画文本

时间:2010-12-22 14:02:22

标签: mvvm-light

我有一个Textblock,它绑定到我的viewmodel中的值。现在,当更新此值时,我希望我的文本块淡入淡出。 现在有这个方法

< TextBlock ...>
<TextBlock.Triggers>                        
                     <EventTrigger RoutedEvent="TextBlock.Loaded">
                       <BeginStoryboard>
                         <Storyboard>
                           <DoubleAnimation Storyboard.TargetName="VolumeTextBlock"  
                             Storyboard.TargetProperty="Opacity"  
                             From="1.0" To="0.0" Duration="0:0:1" AutoReverse="True"  
                             RepeatBehavior="Forever"
                           />
                         </Storyboard>                                          
                       </BeginStoryboard>
                     </EventTrigger>
                   </TextBlock.Triggers>
< /TextBlock>

但这仅适用于mouseover / mouseentered / loaded,而不适用于更改文本。谁能告诉我这是怎么做到的?

1 个答案:

答案 0 :(得分:2)

我这样做的方法是使用一个“视图服务”,例如由View(页面或窗口)实现的IAnimationService,并注入ViewModel。当属性发生更改时,VM可以调用MyAnimationService.StartMyAnimation()或其他内容。

干杯, 劳伦