Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/302.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 作为触发器的结果恢复以前的值_C#_Wpf_Templates_Triggers_Styles - Fatal编程技术网

C# 作为触发器的结果恢复以前的值

C# 作为触发器的结果恢复以前的值,c#,wpf,templates,triggers,styles,C#,Wpf,Templates,Triggers,Styles,如果我使用的是ControlTemplate.Triggers,则由 如果IsMouseOver为false,如何恢复以前的值? (例如,在IsMouseOver=true上将背景更改为绿色,并在更改前还原为以前的颜色。以前的颜色可以在控件本身上设置,而不一定在样式内部设置) 方面: 我在扳机上用的是stoaryboard 在控件样式中,我将背景设置为蓝色 在使用控件的窗口实现中,我将控件设置为样式,但将控件的背景设置为红色 我想设置动画,将其从红色变为绿色,并在IsMouseOver=fals

如果我使用的是ControlTemplate.Triggers,则由

如果IsMouseOver为false,如何恢复以前的值?

(例如,在
IsMouseOver=true
上将背景更改为绿色,并在更改前还原为以前的颜色。以前的颜色可以在控件本身上设置,而不一定在样式内部设置)

方面:

  • 我在扳机上用的是stoaryboard
  • 在控件样式中,我将背景设置为蓝色
  • 在使用控件的窗口实现中,我将控件设置为样式,但将控件的背景设置为红色
  • 我想设置动画,将其从红色变为绿色,并在IsMouseOver=false时再次将其恢复为红色
    请帮帮我

    触发器不会永久更改该值,它们可以是活动的,也可以是非活动的,如果它们处于非活动状态,则会自动获取以前的值(根据)

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


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

    我忘了指定我正在使用情节提要,这就是问题的原因。没有办法恢复到实际控件定义中设置的原始值吗?(示例-使用此控件的网格。控件将使用样式X在网格中定义,并且控件属性中的背景将设置为红色,但默认样式为蓝色。我想在上面的场景中将其还原为红色。)@user436862:动画场景很麻烦,您可以在设置的模板颜色和透明之间设置另一层的动画,然后您的单个背景可以始终相同。