我有一个WPF app with a DataGrid。我在用着AutoGenerateColumns="True"
填充它,因为列数和行数并不总是相同。
问题是它仅自动生成列标题而不是行标题。所以我决定做他们在这里所做的事情:http://tech.pro/tutorial/1055/wpf-datagrid-tutorial-row-headers但我不能把AutoGenerateColumns="False"
因为我从 DataSet 绑定了一个 DataTable,它的大小并不总是相同 - 标题并不总是包含相同的文本。
使用上面链接中的代码,我同时拥有列标题和行标题(这是通过在 xaml 代码中手动绑定它来设置的),但我仍然得到了第一个(标题)列。我无法删除第一列 - 异常将会消失。
任何关于如何获得的提示行标题无需像链接中那样手动设置它们?或者有什么想法如何删除我用作行标题的第一列?
P.S.:我知道人们已经在这里问过类似的问题,但我没有找到任何与我有同样问题的问题以及对我有帮助的答案:|
您可以在代码中创建样式:
Style rowHeaderStyle=new System.Windows.Style(typeof(DataGridRowHeader));
rowHeaderStyle.Setters.Add(new Setter(DataGridRowHeader.ContentProperty,new Binding("SomeField")));
simpleDataGrid.RowHeaderStyle = rowHeaderStyle;
并在 AutoGenerateColumn Event 上删除此字段:
private void simpleDataGrid_AutoGeneratingColumn(object sender, DataGridAutoGeneratingColumnEventArgs e)
{
if (e.PropertyName == "SomeProperty")
e.Cancel = true;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)