c# - 无法更改DataGrid中的前景

标签 c# wpf xaml mvvm datagrid

我创建了DataGrid并将背景设置为bi透明。现在我想将前景设置为蓝色,但它不想更改,始终为黑色。我尝试将Foreground =“Blue”放在所有这些位置,但从未成功。

<DataGrid Background="Transparent" Foreground="Blue">
        <DataGrid.Columns Foreground="Blue">
            <DataGridTextColumn Foreground="Blue" Header="AAA"/>
            <DataGridTextColumn Foreground="Blue" Header="BBB"/>
            <DataGridTextColumn Foreground="Blue" Header="CCC"/>
            <DataGridTextColumn Foreground="Blue" Header="DDD"/>
        </DataGrid.Columns>
    </DataGrid>

我的App.xaml中有这个,所以也许有一些主题会影响它,但是我不知道如何覆盖它。
<ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/MaterialDesignTheme.Light.xaml" />
            <ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/MaterialDesignTheme.Defaults.xaml" />
            <ResourceDictionary Source="pack://application:,,,/MaterialDesignColors;component/Themes/Recommended/Primary/MaterialDesignColor.Blue.xaml" />
            <ResourceDictionary Source="pack://application:,,,/MaterialDesignColors;component/Themes/Recommended/Accent/MaterialDesignColor.Indigo.xaml" />
        </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>

最佳答案

问题在于,每个单元都有一个模板,而wpf并不总是继承到模板生成的ui中。

您可以尝试将其放入数据网格中:

 <DataGrid.CellStyle>
      <Style TargetType="DataGridCell">
           <Setter Property="TextElement.Foreground" Value="Blue" />
      </Style>
 </DataGrid.CellStyle>

关于c# - 无法更改DataGrid中的前景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60442822/

相关文章:

wpf - 如何在 View 模型中使用来自 xaml 的 wpf 事件而无需隐藏代码?

c# - 在自定义用户控件中公开事件 - Window Store App

c# - 将对象直接序列化为 JObject 而不是 json.net 中的字符串

c# - 按 T​​ab 移动到下一个控件之后的一个

c# - 我应该如何过滤绑定(bind)到网格的 IReactiveList?

.net - WPF 数据网格 : resizing columns

wpf - 无法访问 app.xaml 中定义的资源

c# - MouseLeftButtonUp 不触发

c# - 如何使用 Java 在 Windows 上创建虚拟磁盘(letter、share 等)?

c# - AJAX 调用 C# 方法不返回数据