2011-07-28 36 views
4

コードビハインドを使用してWPF DataGridの外観を大きくカスタマイズしています。ユーザーはバックグラウンドを設定できます。データの列にあるセルのセルの背景を別の色に設定することは問題ありません。しかし、私はまた、各行の最後に未定義領域のセルの背景色を変更する必要があります。未使用領域のセルの背景色を変更するWPF DataGrid

たとえば、私は6列のデータを持つ行を持っています。すべての列が占有する幅よりも行の幅が大きくなり、行の右側に未使用領域が残ります。私は、この未使用領域の背景色を変更するコードでプログラムではできないようです。私はグリッドの残りの部分で使用したものと同じに設定したいと思います。

誰もが考えている? XAMLソリューションではなく、ソリューションの背後にあるコードを提供してください。あなたが選択した項目のためにこれをやっている場合

+0

これまでに試したことのコード例を投稿できますか? –

+0

+1

"XAMLソリューションではなく、ソリューションの背後にあるコードを提供してください。 <<あれ?誰かがXAMLソリューションを提供している場合は、コード内のプロパティを設定してください。どのような奇妙な要件。 –

答えて

6

これを試してみてください。それ以外は

var row = (DataGridRow)dataGrid1.ItemContainerGenerator.ContainerFromItem(dataGrid1.SelectedItem); 

row.Background = Brushes.<chosen color>; 

は、あなただけのRowBackground色を設定することができるはずです。

dataGrid1.RowBackground = Brushes.<chosen color>; 
+0

ありがとうございます。最初はこれはうまくいかなかったが、カスタマイズされたデータグリッドテンプレートが使用されていた。標準のテンプレートを使って試したところ、うまくいきました。今私はテンプレートがそれを尊重していない理由を見なければなりません。 – WPFNewbie

+0

コントロールテンプレートでは、RowBackground用のセッターがあることを確認する必要があります。これは、RowBackground = "{TemplateBinding RowBackground}"を読み取るために必要になります。 –

+0

このリンクには、WPFでDataGridRowとDataGridのセルを取得するための詳細なヘルプがあります。http://techiethings.blogspot.in/2010/05/get-wpf-datagrid-row-and-cell.html – Abbas

関連する問題