2017-02-15 24 views
0

4つの異なる色テーマに切り替えることのできるアプリケーションがあります。その色のテーマについては、私は4種類のxamlリソース辞書を使用しています。 また、アプリケーションは、DBからロードされたデータテーブルにバインドされたデータグリッドを使用しています。これらのデータグリッドは、常に他の列とは異なる色の最初の列を持ちます。WPF DataGridの列全体の前景色

ユーザーがテーマを切り替えると問題が発生します。最初の列のテキストを除くすべてが正しく変更されます(res。dictionryの設定に従って)。

ここにresのブラシの定義があります。辞書(同じ名前ですべての辞書ファイルに別の色):

<SolidColorBrush x:Key="textBrush" Color="LightGreen" /> 

そして、これは私のデータグリッドの定義である:

<DataGrid Name="coilTabDG" AutoGenerateColumns="False" Grid.Column="3" Grid.ColumnSpan="1" Grid.Row="1" Grid.RowSpan="6" HorizontalAlignment="Stretch" Margin="5,5,5,5" VerticalAlignment="Stretch" HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto" ItemsSource="{Binding}" CanUserReorderColumns="False" CanUserResizeColumns="False" CanUserSortColumns="False" CanUserResizeRows="False" SelectionUnit="FullRow" HeadersVisibility="Column" > 
      <DataGrid.Columns> 
       <DataGridTextColumn Header="coilNumber" Width="100*" Foreground="{DynamicResource textBrush}" Binding="{Binding Path='coilNum'}"> 
       </DataGridTextColumn> 

       <DataGridTextColumn Header="Thickness" Width="100*" Binding="{Binding Path='thick'}"> 
       </DataGridTextColumn> 

       <DataGridTextColumn Header="Grade" Width="100*" Binding="{Binding Path='grade'}"> 
       </DataGridTextColumn> 
      </DataGrid.Columns> 
     </DataGrid> 

は、君たちはの変化とともに変化し、このコラムのフォアグラウンドを作る方法を私を助けてもらえ色のテーマは? 解決方法はありますか? ありがとうございます。

答えて

0

は、あなたの列の定義

<DataGridTextColumn Header="coilNumber" Width="100*" CellStyle="{StaticResource CurrencyCellStyle}" Binding="{Binding Path='coilNum'}"/> 
+0

だから、シンプルかつエレガントなソリューションにスタイルを適用するセルスタイル参照し、リソース

<Style x:Key="CurrencyCellStyle" TargetType="{x:Type DataGridCell}"> <Setter Property="Foreground" Value="{DynamicResource textBrush}" /> </Style> 

を定義します!それは素晴らしい作品。どうもありがとう! –

+0

これはうれしいことです:)すべてが大丈夫なら答えとして質問に印を付けることを忘れないでください;)ハッピーコーディング! – Bruno

関連する問題