所以,如果我想要在ViewModel中發生一些邏輯故事時播放故事板動畫。但是StoryBoard存在於視圖中,而我沒有對ViewModel中的視圖的引用。我該怎麼去演故事板呢?WPF:如何在MVVM中播放故事板?
8
A
回答
6
您可以使用數據觸發器在視圖中啓動動畫。
事情是這樣的:
...<ItemsControl.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Value.Name}" Padding="5">
<TextBlock.Style>
<Style>
<Style.Triggers>
<DataTrigger Binding="{Binding Value.StartAnimation}" Value="True">
<DataTrigger.EnterActions>
<BeginStoryboard>
<Storyboard
Storyboard.TargetProperty="FontSize"
Duration="0:0:0.5">
<DoubleAnimation From="10" To="30" AutoReverse="True" />
</Storyboard>
</BeginStoryboard>
</DataTrigger.EnterActions>
</DataTrigger>
</Style.Triggers>
</Style>
</TextBlock.Style>
</TextBlock>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
...
0
Josh Smith解釋瞭如何在Advanced MVVM這本書中做到這一點。他使用的示例應用程序稱爲BubbleBurst,它是available on Codeplex。
我強烈推薦這本書。這是務實和實用的。
所以你指我一本書嗎?如果你不知道答案,那麼就說你不知道;) – foreyez 2010-12-10 04:24:31