0

DataTableをWPFDataGrid(DataGridで自動生成された列)にバインドしています。

最初の列、最後の列、最後の行のすべてのセルに異なるスタイルを割り当てたいと思います。

これはどのように達成できますか?

編集

ここでの問題は、プロパティ名が定義されたデータオブジェクトがなく、自動生成された列で動的であるため、DataTableの列名が一定ではないことです。

AutoGeneratingColumnイベント-e.DisplayIndexは常に-1です。ここから、DataTableの列と行のインデックスへのパスはありますか?

コンバーター-セルの行と列のインデックスを渡すにはどうすればよいですか?

4

1 に答える 1

2

セルスタイルと行スタイルをXAMLリソースのどこかに保存するとします。コードビハインドで、データグリッドの2つのイベントを処理することをお勧めします。これらは次のとおりです。

int c = myDataTable.Rows.Count;
myDataGrid.AutoGeneratedColumns += (s, e) =>
{
   myDataGrid.Columns[myDataGrid.Columns.Count - 1].CellStyle = this.Resources["myCellStyle"] as Style;
   myDataGrid.Columns[0].CellStyle = this.Resources["myCellStyle"] as Style;
};
myDataGrid.LoadingRow += (s, e) =>
{
   int x = e.Row.GetIndex();
   if (c - 1 == x) e.Row.Style = this.Resources["myRowStyle"] as Style;
};

HTH

于 2012-10-11T13:24:54.490 に答える