这应该很简单,因此它是我缺少的东西。我需要在仅点击期间更改按钮的背景颜色。因此,如果用户点击该按钮2天,则该两天期间的颜色会发生变化。一旦用户完成点击,它将返回到正常的颜色。想通这将解决我的问题:点击时WPF按钮更改背景
<Style x:Key="MyButtonStyle" TargetType="Button">
<Setter Property="Background" Value="Red"/>
<Setter Property="Button.Effect">
<Setter.Value>
<DropShadowEffect Color="Black" Direction="320" ShadowDepth="3" BlurRadius="5" Opacity="0.5" />
</Setter.Value>
</Setter>
<Style.Triggers>
<Trigger Property="IsPressed" Value="True">
<Setter Property="Button.Background" Value="Purple" />
<Setter Property="Button.Effect">
<Setter.Value>
<DropShadowEffect Color="Black" Direction="320" ShadowDepth="0" BlurRadius="0" Opacity="0" />
</Setter.Value>
</Setter>
</Trigger>
</Style.Triggers>
现在我知道了IsPressed
记者时做的工作为DropShadowEffect
正常工作。但是颜色不会改变。我能想到的唯一原因是IsMouseOver
优先于IsPressed
。如果是这种情况,我怎么能让这两个事件“一起工作?”
现在人们开始把我和这个联系起来;
WPF changing button background on click或本Change Button Background color on EventTrigger in WPF或本Change Button Background color on EventTrigger in WPF
是那些改变按钮的颜色,但无论在用户点击的时间。如上所述,我只希望它在实际用户点击期间生效,如DropShadowEffect