【发布时间】:2020-12-13 12:27:53
【问题描述】:
在下图中,我有 3 个按钮 (UserControls),我更改了默认的 mouseOver 效果。在图片中,我当前将鼠标悬停在按钮 1 上。
这是我使用的代码:
<Style x:Key="ButtonMouseOver" TargetType="{x:Type Button}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Button}">
<Border>
<Border.Style>
<Style TargetType="{x:Type Border}">
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="#404040"/>
</Trigger>
</Style.Triggers>
</Style>
</Border.Style>
<Grid Background="Transparent">
<ContentPresenter></ContentPresenter>
</Grid>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
我的用户控制按钮:
<Button HorizontalContentAlignment="Stretch" Style="{StaticResource ButtonMouseOver}" VerticalContentAlignment="Stretch" Background="{Binding ButtonColor}" BorderThickness="0">
但现在,我无法再使用Background 属性更改按钮的颜色。任何想法为什么?
【问题讨论】:
标签: c# wpf xaml mouseover controltemplate