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代码设置),但我仍然有那里的第一个(标题)列了。我不能删除第一列-异常将被删除。

任何提示如何获得行标题而无需手动设置它们,如在链接中?或任何想法如何删除第一列,我使用作为行标题?

注::我知道这里已经有人在问类似的问题了,但是我没有发现任何问题和我一样,并且有一个可以帮助我的答案:|

WPF:如何自动生成行标题,而不仅仅是列标题

你可以在代码中创建一个样式:

        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;
    }
相关文章: