在UserControl中,我有一个动画故事板,必须使用 Storyboard.TargetName 。
我想通过DataTrigger开始/停止animnation 可以将DataTrigger添加到样式中 但是:Style中的Storyboard树无法指定TargetName。
并且:触发器集合成员必须是EventTrigger类型 因此,我无法将DataTrigger添加到 UserControl.Triggers 。
我应该怎么做(就解决问题而言)?
答案 0 :(得分:1)
如果你已经展示了相关的代码,那么解释这个会更容易,但无论如何我都会去。答案比您想象的要简单...只需将Storyboard
移动到您指定为Storyboard
目标的元素。
例如,如果您尝试向Storyboard
添加ToggleButton
以在用户点击时更改Opacity
的{{1}},或检查{{ 1}},然后您可以将TextBlock
移至Button
集合,并在Storyboard
值为TextBlock.Style.Triggers
时将DataTrigger
设置为触发。
基本理念是:
当在控件A中发生某些事情时,不是使用控件A中的
ToggleButton.IsChecked
来改变控件B中的某些内容,而是反转这种情况。当控件A中发生某些事情时,使用控件B中的True
来更改控件B中的某些内容。