C# WPF:如何在MVVM中播放故事板?

C# WPF:如何在MVVM中播放故事板?,c#,wpf,mvvm,C#,Wpf,Mvvm,所以,假设我想播放一个故事板动画,如果ViewModel中发生了一些逻辑。但是故事板存在于视图中,并且我没有从ViewModel中引用视图。那我怎么才能播放故事板呢?您可以使用数据触发器在视图中启动动画 大概是这样的: ...<ItemsControl.ItemTemplate> <DataTemplate> <TextBlock Text="{Binding Value

所以,假设我想播放一个故事板动画,如果ViewModel中发生了一些逻辑。但是故事板存在于视图中,并且我没有从ViewModel中引用视图。那我怎么才能播放故事板呢?

您可以使用数据触发器在视图中启动动画

大概是这样的:

    ...<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>
...
。。。
...