c# - WPF:如何在 MVVM 中播放 Storyboard?

标签 c# wpf mvvm

所以,假设我想在 ViewModel 中发生某些逻辑时播放 Storyboard 动画。但是 StoryBoard 依赖于 View,而我没有从 ViewModel 中引用 View。那我怎么去玩 Storyboard呢?

最佳答案

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

是这样的:

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

关于c# - WPF:如何在 MVVM 中播放 Storyboard?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4405606/

相关文章:

c# - .HasRequired 无法在模型中工作

c# - 从 .NET Core 中的 Controller 运行单个后台任务的最简单方法是什么?

c# - 为什么 Live connect 总是提示同意?

c# - 如何使用MVVM从Restful Service向Xamarin.Forms View 显示图像

MVVM - View 是否应该影响 MainWindow ViewModel?

c#检查列表中的所有字符串是否相同

c# - mvc5 全局认证检查

wpf - 对多个文本框重复使用工具提示

wpf - 焦点未正确进入目标用户控件

asp.net-mvc - MVC-Viewmodel 和 LINQ,将值插入表中,该值被另外两个表中的另外两个值标记