コンテンツが変更されたときに、WPF データグリッド セルの背景色の色を変更したい。各セルの背後には、Value、OriginalValue、および Modified プロパティを含む ViewModel オブジェクトがあります。ユーザーがセルの内容を編集すると、データ バインディングを介して Amount プロパティが自動的にトリガーされます。次に、このプロパティ セッターは元の値と照合し、ブール型の Modified プロパティをそれぞれ true または false に設定し、それらのプロパティを更新するようバインディングに通知します。
これまでのところ、次のように DataGridTextColumn の ElementStyle プロパティの Style で部分的な結果を達成しました
<Style x:Key="DataGridTextStyle" TargetType="{x:Type TextBlock}">
<Style.Triggers>
<DataTrigger Binding="{Binding Path=MyViewModel.Modified}" Value="True">
<Setter Property="Background" Value="Yellow"/>
</DataTrigger>
</Style.Triggers>
</Style>
これにより、テキスト コンテンツの背景色が更新されますが、それはセルの中央の小さな領域にすぎません。テキストブロック属性だけでなく、セル全体の背景色を更新したい。
上記のトリガーを変更して、現在のテキスト ブロックのみの背景色を設定するのではなく、ビジュアル ツリーを上方向に検索して親 DataGridCell を見つけ、その上に Background プロパティを設定することはできますか?