【发布时间】:2021-05-06 19:49:00
【问题描述】:
我在 WPF 中有一个 DataGrid,并在设置器中为它创建了一个 ControlTemplate。在创建此 ControlTemplate 之前,我的 Style.trigger 与 IsMouseOver 事件完美配合。但是在放置 Controltemplate 之后它不再工作了。这是我的代码:
<Style TargetType="{x:Type DataGridColumnHeader}">
<Setter Property="Background" Value="#292F3B"/>
<Setter Property="Foreground" Value="LightBlue"/>
<Setter Property="FontWeight" Value="SemiBold"/>
<Setter Property="Height" Value="30"/>
<Setter Property="FontSize" Value="15"/>
<Setter Property="BorderThickness" Value="0,0,2,0" />
<Setter Property="BorderBrush" Value="#333333"/>
<Setter Property="Padding" Value="10 0 0 0"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type DataGridColumnHeader}">
<Border Background="#242A36">
<Border BorderThickness="1"
CornerRadius="6"
Background="#2D2D30"
Padding="10,0,0,0"
Margin="2">
<ContentPresenter/>
</Border>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="Red"/>
</Trigger>
</Style.Triggers>
</Style>
所以我只希望 IsMouseOver 效果与 ControlTemplate 一起使用。
【问题讨论】:
标签: wpf data-binding datagrid wpf-controls