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