gpt4 book ai didi

c# - 从 View 模型 (WPF) 调用 View 中的动画

转载 作者:行者123 更新时间:2023-12-03 10:59:36 25 4
gpt4 key购买 nike

我拥有:一个包含动画定义和 View 定义的样式资源,一个包含数据、属性和 ICommand 的 View 模型。

目前,该应用程序可以通过按钮单击(使用 ICommand)调用 VM 函数、绑定(bind)到 VM 属性的 View ,并且它能够从 button.click 事件触发器运行动画。

我想要做什么;
如果将样式应用于列表框(例如)如何直接从 VM 触发动画? IE。如果数据上的某些属性发生变化,是否有可能导致动画运行?我知道我可以使用 UserControl 来做到这一点,但我正试图将我的程序分成更明确定义的 View 和 View 模型。我不想在我的 View 中显示代码,也不想在我的虚拟机中显示动画。

最佳答案

当您说它能够从 button.click 事件触发器运行动画时,您几乎在那里回答了您自己的问题。实际答案是肯定的,您可以使用 DataTrigger 启动动画。即绑定(bind)到 View 模型属性的数据,或 EventTrigger使用自定义 RoutedEvent以同样的方式:

<Style>
<Style.Triggers>
<DataTrigger Binding="{Binding IsAnimationRunning}" Value="True">
<DataTrigger.EnterActions>
<BeginStoryboard>
<Storyboard>
<SomeAnimation />
</Storyboard>
</BeginStoryboard>
</DataTrigger.EnterActions>
</DataTrigger>
</Style.Triggers>
</Style>

这将在 IsAnimationRunning 时启动动画。属性从 false 更改至 true .

关于c# - 从 View 模型 (WPF) 调用 View 中的动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19817061/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com