如果我正在使用<Trigger Property="IsMouseOver" Value="True">
使用的ControlTemplate.Triggers
如果IsMouseOver为false,我该如何恢复以前的值?
(例如,在IsMouseOver=true
上将背景更改为绿色并在更改前恢复为之前的颜色。之前的颜色可以在控件上设置,而不一定在样式内部。)
方面:
请帮助我!
答案 0 :(得分:1)
触发器不会永久更改值,它们可以是活动的和非活动的,如果它们处于非活动状态,您将自动获得之前的值(根据rules of precedence)。
模板触发器不会覆盖本地值,因此您必须使用setter作为默认值。
当您使用将覆盖所有其他内容的动画时,您可以通过Trigger.ExitActions
为其设置动画,但您需要知道原始值。