将数据网格列的可见性设置为在WPF中折叠

本文关键字:WPF 折叠 设置 可见性 数据网 数据 网格 | 更新日期: 2023-09-27 18:22:37

我有一个WPF应用程序,在那里我设置动态创建数据网格,并将项源设置为数据表。

DataGrid grdTemp = new DataGrid();                   
grdTemp.FrozenColumnCount = 2;
grdTemp.ItemsSource = dtTemp.DefaultView;

我想将某些列的可见性设置为折叠。然而,在设置了itemsource之后,当我检查grdTemp.Columes时,它的显示计数为0。项目源设置正确,并显示在UI上。但我无法设置列的可见性。我不确定我在这里错过了什么。

将数据网格列的可见性设置为在WPF中折叠

使用DataGrid的事件来折叠列。

DataGrid grdTemp = new DataGrid();                   
grdTemp.FrozenColumnCount = 2;
grdTemp.ItemsSource = dtTemp.DefaultView;
grdTemp.AutoGeneratingColumn += new EventHandler<DataGridAutoGeneratingColumnEventArgs>(grdTemp_AutoGeneratingColumn);

在该事件中,您可以获取列及其属性。

void grdTemp_AutoGeneratingColumn(object sender, DataGridAutoGeneratingColumnEventArgs e)
        {
            if(e.Column.Header == "ID") //you can add your check for the column
              e.Column.Visibility = Visibility.Collapsed;
        }

希望这能帮助您