XamDataGrid のセルのスタイルを、行の状態に応じて変更してみます。
XamDataGrid の提供する CellBinding 機能を利用することで簡潔に実装することができます。
Title 列の CellBindings コレクションに、セルの背景色(CellValuePresenter.Foreground)と ViewModel の ForegroundColor プロパティをバインドします。
<igDP:XamDataGrid DataSource="{Binding Tasks}" Grid.Row="1"><igDP:XamDataGrid.FieldLayouts><igDP:FieldLayout><igDP:FieldLayout.Fields><igDP:Field Name="ID" Label="ID"/><igDP:Field Name="Title" Label="タスク"><igDP:Field.CellBindings><igDP:CellBinding Property="Foreground" Target="CellValuePresenter" Binding="{Binding Path=DataItem.ForegroundColor}"/></igDP:Field.CellBindings></igDP:Field> ...</igDP:FieldLayout.Fields></igDP:FieldLayout></igDP:XamDataGrid.FieldLayouts></igDP:XamDataGrid>
「完了」列の bool 値が false の行は、「タスク」列のセル文字が赤くスタイルされました。「全て完了!」ボタンをクリックすると、全行の IsCompleted プロパティが true に更新され、全てのタスクの前景色が黒に変わります。
オンラインリソース
セル設定のデータ項目プロパティへのバインド (xamDataGrid)http://jp.infragistics.com/help/wpf/xamdatagrid-binding-cell-settings-data-item-properties
サンプル
サンプルのダウンロード(Infragistics WPF 2016 vol.2 バージョン、C#)
XamDataGrid_CellBinding_CS.zip
(このサンプルは 16.2.20162.1006 バージョンで作成されました。)