ユーザーが「検索」(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>
ユーザーが検索を更新すると、リストがもう一度入力されると、行が正しく選択されることに注意してください。ユーザーが手動で行をクリックした場合も、正しく選択されます。エラーは、新しい検索が行われたときにのみ発生します。
マジック ワーキング トリガー プロパティが不足していますか?