我有一个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,而不适用于更改文本。谁能告诉我这是怎么做到的?
答案 0 :(得分:2)
我这样做的方法是使用一个“视图服务”,例如由View(页面或窗口)实现的IAnimationService,并注入ViewModel。当属性发生更改时,VM可以调用MyAnimationService.StartMyAnimation()或其他内容。
干杯, 劳伦