【问题标题】:Datagrid foreground colour not working数据网格前景色不起作用
【发布时间】:2016-05-05 18:49:32
【问题描述】:

我有一个显示二维数据的简单数据网格。 我在一个测试项目中尝试过,结果很好。

这里是xmal:

<Grid >
<DataGrid Name="dg" Margin="50" FontSize="26" CellEditEnding="dg_CellEditEnding" BeginningEdit="dg_BeginningEdit"  LoadingRow="DataGrid_LoadingRow" EnableRowVirtualization="False"  AutoGeneratingColumn="dg_AutoGeneratingColumn"/>
</Grid>

及相关事件代码:

 private void DataGrid_LoadingRow(object sender, System.Windows.Controls.DataGridRowEventArgs e)
{
  e.Row.Header = "R" + ((e.Row.GetIndex()) + 1).ToString();
}

private void dg_AutoGeneratingColumn(object sender, System.Windows.Controls.DataGridAutoGeneratingColumnEventArgs e)
{
  string str = e.PropertyName;
  int num = int.Parse(e.PropertyName);
  e.Column.Header = "C" + (num + 1).ToString();

}

然后我必须把它放在我的实际项目中,这是一个样式窗口。

所以我放了同样非常简单的xaml(在这里添加背景和前景我有一个渐变背景),这样xaml就是:

<Grid >
<DataGrid Name="dtgNests" Margin="50" FontSize="26" Background="White" Foreground="Black" HeadersVisibility="All" CellEditEnding=" dg_CellEditEnding" BeginningEdit="dg_BeginningEdit"  LoadingRow="DataGrid_LoadingRow" EnableRowVirtualization="False"  AutoGeneratingColumn="dg_AutoGeneratingColumn"/>
</Grid>

效果是:

所以简而言之,没有在任何部分设置 FOREGROUND。那就是:

  • 细胞
  • 行标题
  • 列标题

所以无处可去。 谁能告诉我为什么? 先感谢您 帕特里克

【问题讨论】:

    标签: c# wpf datagrid header foreground


    【解决方案1】:

    在 WPF DataGrid 中,所有与单元格相关的设计都需要设置为 Column 的 ElementStyle,它会覆盖 Grid 中设置的前景。请尝试以下操作:

    在您的 XAML 资源中:

    <Style x:Key="BlackCellStyle" TargetType="{x:Type TextBlock}">
        <Setter Property="Foreground" Value="Black" />
    </Style>
    

    在您的 AutoGeneratingColumn 处理程序中:

    private void dg_AutoGeneratingColumn(object sender, System.Windows.Controls.DataGridAutoGeneratingColumnEventArgs e)
    {
      string str = e.PropertyName;
      int num = int.Parse(e.PropertyName);
      e.Column.Header = "C" + (num + 1).ToString();
      e.Column.ElementStyle = FindResource("BlackCellStyle") as Style;
    }
    

    这会将前景直接应用到您的单元格

    【讨论】:

      猜你喜欢
      • 2016-05-22
      • 2010-11-02
      • 2021-12-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-28
      • 1970-01-01
      • 2018-03-07
      相关资源
      最近更新 更多