Csharp/C#教程:WPF。 如何通过绑定来停止数据触发动画?分享


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来通知视图有关新值

上述就是C#学习教程:WPF。 如何通过绑定来停止数据触发动画?分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/1006174.html

(0)
上一篇 2021年12月28日
下一篇 2021年12月28日

精彩推荐