当用户按下“搜索”(Sök)时,列表被填充。搜索完成后,通过触发器“IsEnabled”选择了第一行,问题是第一个单元格不是(见图)。
这是我的 DatagridCells 样式代码
<Style TargetType="DataGridCell">
<Setter Property="Padding"
Value="0,4,0,4" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type DataGridCell}">
<Border Padding="{TemplateBinding Padding}"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}"
Background="{TemplateBinding Background}"
SnapsToDevicePixels="True">
<ContentPresenter SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" />
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
<Setter Property="BorderBrush"
Value="Transparent" />
<Style.Triggers>
<Trigger Property="IsSelected"
Value="True">
<Setter Property="Background"
Value="#7dc0dc" />
<Setter Property="BorderThickness"
Value="0" />
<Setter Property="Foreground"
Value="#fff" />
</Trigger>
<Trigger Property="IsEnabled"
Value="False">
<Setter Property="Background"
Value="#7dc0dc" />
<Setter Property="BorderThickness"
Value="0" />
<Setter Property="Foreground"
Value="#fff" />
</Trigger>
</Style.Triggers>
</Style>
请注意,如果用户刷新搜索,则一旦再次填充列表,该行就会被正确选择。如果用户手动单击该行,它也会被正确选择。该错误仅在进行新搜索时发生。
我错过了一些神奇的工作触发器属性吗?