WPF。 如何通过绑定来停止数据触发动画?

在WPF工具包datagrid中,我有一个数据触发器绑定到单元格元素的不透明度。

UpVisibility更改为1时,路径变为可见,并且动画开始将其淡化为0.哪个有效。

但是我的问题现在 – 如果我需要过早地停止/取消淡入淡出并将UpVisibility设置为0,路径仍然可见并且随着任何事情的发生而消失….

如何使用MyValue对象立即将不透明度降为0?

                  

你尝试过这样的事情(未经测试的例子):

      

我将动画持续时间设置为0即时。 如果您没有定义From属性,则指示WPF以当前DependencyProperty值开始,因此它将平滑过渡。

也可以使用ExitAction上的DataTrigger停止故事板,当绑定值更改为目标状态时,将调用它。 只需为BeginStoryboard命名,并在StopStoryboard操作中引用它,如下所示:

   ...      

这可能比启动第二个故事板以停止或屏蔽不同的故事板更合适。

如果你需要在后面的代码中重置动画,你通常会这样做:

  MyControl.BeginAnimation(OpacityProperty, null); 

但是如何根据MVVM在XAML中做到这一点? 答案是:

  

要在ViewModel中调用动画,我们可以:

 Vanishing = true; await Task.Delay(500); Vanishing = false; 

还要确保绑定属性(在我的情况下消失)调用INotifyPropertyChanged来通知视图有关新值