【问题标题】:WPF Text foreground color of whole column in DataGridDataGrid中整列的WPF文本前景色
【发布时间】:2017-02-15 13:11:23
【问题描述】:

我有一个应用程序,用户可以切换到 4 种不同颜色主题之一。对于那个颜色主题,我使用了 4 个不同的 xaml 资源字典。 此外,应用程序正在使用绑定到从数据库加载的数据表的数据网格。这些数据网格的第一列的颜色总是与其他列不同。

用户切换主题时出现问题。除第一列中的文本外,所有内容都正确更改(根据 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>

你们能帮我如何使这个专栏的前景随着颜色主题的变化而变化吗? 任何解决方案表示赞赏! 谢谢。

【问题讨论】:

    标签: c# wpf xaml datagrid


    【解决方案1】:

    定义引用资源的单元格样式

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

    将样式应用于列定义

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

    【讨论】:

    • 如此简单优雅的解决方案!它工作得很好。非常感谢!
    • 很高兴这有帮助 :) 如果一切正常,请不要忘记将问题标记为已回答;) 编码愉快!
    猜你喜欢
    • 2011-03-08
    • 2013-03-16
    • 2013-11-06
    • 1970-01-01
    • 2012-02-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-30
    相关资源
    最近更新 更多