2

我有一个带有DataGrid的WPF 应用程序。我用它来填充它,因为列数和行数并不总是相同的。AutoGenerateColumns="True"

问题是它只自动生成列标题而不是行标题。所以我决定做他们在这里做的事情:http: //tech.pro/tutorial/1055/wpf-datagrid-tutorial-row-headers但我不能把它放在那里,AutoGenerateColumns="False"因为我在那里绑定了一个来自 DataSet 的 DataTable并不总是相同的大小 - 标题并不总是包含相同的文本。

使用上面链接中的代码,我有列标题和行标题(这个是通过在 xaml 代码中手动绑定来设置的),但我仍然得到了第一个(标题)列。我无法删除第一列 - 异常会消失。

任何提示如何获取行标题而不像链接中那样手动设置它们?或者任何想法如何删除我用作行标题的第一列?

PS:我知道人们已经在这里问过类似的问题,但是我没有发现任何与我一样的问题并且答案对我有帮助:|

4

1 回答 1

4

您可以在代码中创建样式:

        Style rowHeaderStyle=new System.Windows.Style(typeof(DataGridRowHeader));
        rowHeaderStyle.Setters.Add(new Setter(DataGridRowHeader.ContentProperty,new Binding("SomeField")));
        simpleDataGrid.RowHeaderStyle = rowHeaderStyle;

并在 AutoGeneratingColumn Event 上删除此字段:

    private void simpleDataGrid_AutoGeneratingColumn(object sender, DataGridAutoGeneratingColumnEventArgs e)
    {
        if (e.PropertyName == "SomeProperty")
            e.Cancel = true;
    }
于 2013-05-09T11:00:35.580 回答