【发布时间】:2019-02-24 10:43:20
【问题描述】:
我有一个有两个触发器的按钮。
一个在IsMouseOver 上,另一个在 mouseClick 上。
如果我将IsMouseOver 注释掉,另一个则完全正常,但如果我同时使用两者,则 mouseClick 将被忽略。
这是我的触发器:
<ControlTemplate.Triggers>
<Trigger Property="local:MouseDownHelper.IsMouseLeftButtonDown"
Value="True">
<Trigger.EnterActions>
<BeginStoryboard>
<Storyboard>
<ColorAnimation Duration="00:00:00.100"
Storyboard.TargetName="SendReportsButtonMainGrid"
Storyboard.TargetProperty="Background.Color"
To="{StaticResource ClickGray}" />
</Storyboard>
</BeginStoryboard>
</Trigger.EnterActions>
<Trigger.ExitActions>
<BeginStoryboard>
<Storyboard>
<ColorAnimation Duration="00:00:00.100"
Storyboard.TargetName="SendReportsButtonMainGrid"
Storyboard.TargetProperty="Background.Color"
To="{StaticResource HoverGray}" />
</Storyboard>
</BeginStoryboard>
</Trigger.ExitActions>
</Trigger>
<Trigger Property="IsMouseOver"
Value="True">
<Trigger.EnterActions>
<BeginStoryboard>
<Storyboard>
<ColorAnimation Duration="00:00:00.400"
Storyboard.TargetName="SendReportsButtonMainGrid"
Storyboard.TargetProperty="Background.Color"
To="{StaticResource HoverGray}" />
</Storyboard>
</BeginStoryboard>
</Trigger.EnterActions>
<Trigger.ExitActions>
<BeginStoryboard>
<Storyboard>
<ColorAnimation Duration="00:00:00.800"
Storyboard.TargetName="SendReportsButtonMainGrid"
Storyboard.TargetProperty="Background.Color"
To="{StaticResource HeaderGray}" />
</Storyboard>
</BeginStoryboard>
</Trigger.ExitActions>
</Trigger>
</ControlTemplate.Triggers>
MouseDownHelper 来自there,据说它可以在没有其他触发器的情况下工作。
如果单击按钮,我怎样才能获得 OnHover 效果和另一个效果?
编辑: 您也可以使用同样不起作用的 IsPressed。
【问题讨论】:
-
您没有显示 MouseDownHelper 代码,所以可能没问题,但您是否尝试在 IsPressed 属性上触发?
-
我试过了,也没用。