0

如果我正在使用 ControlTemplate.Triggers,如果<Trigger Property="IsMouseOver" Value="True">
IsMouseOver 为假,如何恢复以前的值?

(例如将背景更改为绿色IsMouseOver=true并恢复为更改前的先前颜色。先前的颜色可以在控件自己设置,不一定在样式内部)

方面:

  1. 我在触发器中使用了故事板
  2. 在控件样式中,我将背景设置为蓝色
  3. 在带有控件的窗口的实现中,我将控件设置为样式,但将控件的背景设置为红色。
  4. 我想设置将其从红色变为绿色的动画,并且当 IsMouseOver=false 再次将其恢复为红色。

请帮我!

4

1 回答 1

1

触发器不会永久更改值,它们可以是活动的和非活动的,如果它们是非活动的,您会自动获取先前的值(根据优先规则)。

模板触发器不会覆盖本地值,因此您必须使用设置器作为默认值。

当您使用将覆盖所有其他内容的动画时,您可以通过 将其动画化Trigger.ExitActions,但您需要知道它的原始值。

于 2013-06-30T11:05:07.560 回答