【发布时间】:2018-05-18 22:59:56
【问题描述】:
如果鼠标悬停在按钮上,我们会尝试设置一些按钮的属性。 奇怪的是,它只对某些属性有效。
我们创建了一个空白的 WPF 应用程序并简单地添加了这些代码行:
<Button Content="{Binding IsMouseOver, RelativeSource={RelativeSource Self},Mode=OneWay}">
<Button.Style>
<Style TargetType="Button">
<Style.Triggers>
<DataTrigger Binding="{Binding IsMouseOver, RelativeSource={RelativeSource Self}}" Value="True">
<Setter Property="Foreground" Value="Red" />
<Setter Property="Background" Value="Yellow" />
<Setter Property="BorderThickness" Value="5"></Setter>
<Setter Property="BorderBrush" Value="BurlyWood"></Setter>
</DataTrigger>
<DataTrigger Binding="{Binding IsMouseOver, RelativeSource={RelativeSource Self}}" Value="False">
<Setter Property="Foreground" Value="Green" />
<Setter Property="Background" Value="BlueViolet" />
</DataTrigger>
</Style.Triggers>
</Style>
</Button.Style>
</Button>
“假”触发器就像一个魅力。 "True"-Trigger 只设置 BorderThickness 和 Foreground。 背景和边框笔刷将被忽略。
谁能告诉我如何解决这个问题?
【问题讨论】: