DataRecordCellAreaスタイルにDataTriggerを設定することにより、セルの値によってレコードの背景色を変更することが可能です。

以下はIdフィールドのセルの値が”3″の場合にBackgroundプロパティを変更するDataRecordCellAreaスタイルの定義例です。Keyを”myColoredRecord”としています。

        <Style x:Key="myColoredRecord" TargetType="{x:Type igWPF:DataRecordCellArea}" BasedOn="{StaticResource {x:Type igWPF:DataRecordCellArea}}">
            <Style.Triggers>
                <DataTrigger Binding="{Binding RelativeSource={RelativeSource Self}, Path=Record.DataItem.Id}" Value="3">
                    <Setter Property="Background" Value="Tomato"></Setter>
                </DataTrigger>
            </Style.Triggers>
        </Style>

上記のスタイルをXamDataGridに適用すればスタイルが反映されるようになります。

以下は、ボタンクリックのイベントでスタイルを動的にXamDataGridに適用するサンプルコードです。myColoredRecordがMainWindowのリソースとして定義されている想定です。

         private void Button_Click(object sender, RoutedEventArgs e)
        {
            xamDataGrid1.Resources.Add(typeof(DataRecordCellArea), this.FindResource("myColoredRecord") as Style);
        }
結果

XamDataGridの下のボタンクリックで、Idフィールドの値が”3″のレコードの背景色が変わりました。

Tagged:

製品について

Ultimate UI for WPF