0

2 つの dataTable のデータを比較するメソッドがあります。比較した後、これらの比較されたデータ (ChangeTab と呼ばれる新しい DataTable にある) を WPF dataGRID で視覚化したいと思います。

私は DataContext からデータグリッドを埋めています:

win.TableOfChange.DataContext = ChangeTab.DefaultView;
<DataGrid ItemsSource="{Binding}" Height="107" HorizontalAlignment="Left"....

私は問題と戦っています。(DataTables 内で) 赤で異なるデータを視覚化する方法と、緑の色で同じデータを視覚化する方法です。

ここに画像の説明を入力

それを行う方法はありますか(C#の赤と緑の色をWPF dataGRIDセルに設定します)?

どうもありがとう!

4

2 に答える 2

1

比較プロセスでソース テーブルを作成すると仮定します。そうであれば、等しいことを示すブール値を簡単に格納できます。次に、そのプロパティで をCellStyle使用して、プロパティを目的の値に変更できます。DataTriggerSetterTextElement.Foreground

于 2012-08-23T22:22:40.807 に答える
0

私は、グリッドのほとんどの列に DataTemplates を使用する傾向があります。次のようなクラスを作成する必要があります。

class CellContent
{
    public object Content { get; set; }
    public bool IsDifferent { get; set; }
}

次に、次のようなデータ テンプレートを作成します。

<DataTemplate x:Key="bob">
    <ContentPresenter Content="{Binding Path=Content}" TextElement.Foreground="{Binding Path=IsDifferent, Converter={StaticResource myConverter}}" />
<DataTemplate>

次に、テンプレートを各列に割り当てます。

おそらくより良い他のオプションは、IsDifferent が true の場合、Trigger を使用して色を変更することです。

于 2012-08-23T22:27:11.757 に答える