WPF:如何自动生成行标题,而不仅仅是列标题
本文关键字:标题 不仅仅是 自动生成 WPF | 更新日期: 2023-09-27 18:12:53
我有一个WPF应用程序与DataGrid。我使用AutoGenerateColumns="True"
来填充它,因为列数和行数并不总是相同的。
问题是它只自动生成列标头而不是行标头。所以我决定做他们在这里做的事情:http://tech.pro/tutorial/1055/wpf-datagrid-tutorial-row-headers但我不能把AutoGenerateColumns="False"
,因为我从数据集绑定一个数据表,这并不总是相同的大小-标题并不总是包含相同的文本。
从上面链接的代码,我有列和行标题(这是通过手动绑定它在xaml代码设置),但我仍然有那里的第一个(标题)列了。我不能删除第一列-异常将被删除。
任何提示如何获得行标题而无需手动设置它们,如在链接中?或任何想法如何删除第一列,我使用作为行标题?
注::我知道这里已经有人在问类似的问题了,但是我没有发现任何问题和我一样,并且有一个可以帮助我的答案:|
你可以在代码中创建一个样式:
Style rowHeaderStyle=new System.Windows.Style(typeof(DataGridRowHeader));
rowHeaderStyle.Setters.Add(new Setter(DataGridRowHeader.ContentProperty,new Binding("SomeField")));
simpleDataGrid.RowHeaderStyle = rowHeaderStyle;
并删除AutoGeneratingColumn事件中的这个字段:
private void simpleDataGrid_AutoGeneratingColumn(object sender, DataGridAutoGeneratingColumnEventArgs e)
{
if (e.PropertyName == "SomeProperty")
e.Cancel = true;
}