【发布时间】: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