首页 文章

故事板:EventTrigger与DataTrigger

提问于
浏览
0

Storyboards Overview : Animate when a Property Value Changes提供以下描述以试图解释"EventTrigger and Storyboard"之间和"Trigger (i.e., DataTrigger) and Storyboard"之间的关系,但对我来说听起来有些含糊不清并且有些简短描述:

属性应用的动画触发器对象的行为方式比使用Storyboard方法启动的EventTrigger动画或动画更复杂 . 它们使用其他Trigger对象定义的动画“切换”,但使用EventTrigger和方法触发的动画进行组合 .

我知道Storyboard对象是只读的(freezable)但我不理解的是在基于EventTrigger或基于触发器创建Storyboard时发生的交互 . 术语“切换”是否意味着共享故事板对象?有人可以更多地扩展上述引用描述的含义吗?

此问题是根据我对Binding a Storyboard Animation inside a DataTrigger crashes the XamlParser的回复触发的

1 回答

  • 0

    当使用EventTrigger或DataTrigger创建Storyboard时,它将运行但如果有多个值,则每个触发器可能有多个故事板 . 因此,如果故事板为相同的属性设置动画,则必须先停止或删除第一个故事板,然后才能生成新的故事板动画 . 发生这种情况时,动画的值将返回原始值,然后设置为新值 .

    如果我们使用基于多个触发器的DataTrigger或EventTrigger为对象的大小设置动画,那么您会注意到每个故事板在每个动画期间从原始起点开始 . 所以你的动画从一点到下一点都不会顺畅 . 这会导致令人分心的UI体验 .

    通过属性触发器,故事板将从最后一个停止的地方开始 . 基本上,动画在从一个状态转换到下一个状态时保持平滑,而不会在动画之前返回到默认状态 .

    希望这可以帮助 .

相关问题