WPF:如何自动生成行标题不只是列的呢?(WPF: How to autogenerate row

2019-09-02 08:46发布

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

问题是,它会自动生成唯一的列标题不是行的。 所以,我决定做他们这里做过的事: http://tech.pro/tutorial/1055/wpf-datagrid-tutorial-row-headers ,但我不能把AutoGenerateColumns="False" ,因为我在那里绑定一个从数据集数据表,这并不总是相同的大小 - 标题并不总是包含相同的文字。

从上面的链接都在我这里列和行头的代码(这个人是由XAML代码手动绑定其设置),但我仍然有存在的第一(标题)列了。 我无法抹去的第一列 - 异常熄灭。

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

PS:我知道人们在问类似这样已经在这里,但我没有找到一个像我和一个答案,这将有助于我同样的问题,任何问题:|

Answer 1:

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

        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;
    }


文章来源: WPF: How to autogenerate row headers not just column ones?
标签: c# wpf header row