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

8

假设我想在ViewModel中发生某些逻辑时播放故事板动画。但是故事板存在于View中,而我没有从ViewModel获取对View的引用。那么我该如何播放故事板呢?

1个回答

7
您可以使用数据触发器在视图中启动动画。
类似以下代码:
    ...<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>
...

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接