【问题标题】:WPF: How to play a storyboard in MVVM?WPF:如何在 MVVM 中播放故事板?
【发布时间】:2010-12-10 04:17:37
【问题描述】:

所以,假设我想在 ViewModel 中发生某些逻辑时播放故事板动画。但是 StoryBoard 存在于视图上,我没有从 ViewModel 中引用视图。那我怎么去玩故事板呢?

【问题讨论】:

    标签: c# wpf mvvm


    【解决方案1】:

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

    类似这样的:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-07-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-23
      相关资源
      最近更新 更多