WPF。如何通过绑定停止数据触发动画?
|
在WPF工具包datagrid中,我有一个绑定到单元元素不透明性的数据触发器。
当“ 0”更改为1时,该路径变为可见,并且动画开始将其渐变为0。这可行。
但是现在我的问题是-如果我需要过早停止/取消衰落并将
UpVisibility
设置为0,则该路径仍然可见,并且没有任何反应发生衰落。
如何使用MyValue对象将不透明度立即降低到0?
<Path Data=\"M 5,0 0,10 10,10\" Height=\"10\" Width=\"10\" Fill=\"Green\" Opacity=\"{Binding MyValue[0].UpVisibility}\" Margin=\"5,0,5,0\">
<Path.Style>
<Style>
<Style.Triggers>
<DataTrigger Binding=\"{Binding MyValue[0].UpVisibility}\" Value=\"1.0\">
<DataTrigger.EnterActions>
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Storyboard.TargetProperty=\"Opacity\" From=\"1.0\" To=\"0.0\" Duration=\"0:0:10\" />
</Storyboard>
</BeginStoryboard>
</DataTrigger.EnterActions>
</DataTrigger>
</Style.Triggers>
</Style>
</Path.Style>
</Path>
没有找到相关结果
已邀请:
3 个回复
寒健
我将动画持续时间设置为0。而且,如果您未定义From属性,则指示WPF从当前的DependencyProperty值开始,因此它将平稳过渡。
臀博
起一个名字,然后在
动作中引用它,就像这样:
这可能比启动第二个故事板来停止或掩盖其他故事板更合适。
戊袱
但是,根据MVVM,如何在XAML中执行此操作?答案是:
要在ViewModel中调用动画,我们可以执行以下操作:
还要确保绑定属性(在我的情况下为空)调用INotifyPropertyChanged来通知视图新值