0

我想在运行时向 C# WPF ListView (GridView) 添加新的列和行。据我所知,您只能通过使用具有列绑定到的静态成员集的匿名对象或类将行添加到网格视图。有没有办法在运行时做到这一点,用户能够添加一个新列,将此列绑定到某些东西并添加新数据?

谢谢 ooorndtski

4

2 回答 2

1

是的,您可以在运行时代码中执行此操作。您需要将 GridView 作为变量(在 XAML 中为其命名以在 Visual Studio 中自动生成该变量)。GridView 有一个Columns属性,您可以像处理任何其他集合一样处理它,例如,您可以添加和删除。

这是来自 MSDN 的示例(网格视图名称“myGridView”):

GridViewColumn gvc3 = new GridViewColumn();
gvc3.DisplayMemberBinding = new Binding("EmployeeNumber");
gvc3.Header = "Employee No.";
gvc3.Width = 100;
myGridView.Columns.Add(gvc3);

一般来说,您可以在 XAML 中执行的任何操作都可以在代码中执行。

于 2013-06-05T08:32:45.240 回答
0

所以,我正在寻找的东西在这个线程中有所描述。他创建了一个新的 Dictionary 类,它实现了INotifyPropertyChanged接口。将数据添加到字典时会触发事件。

在代码中要添加新行的位置,只需将数据放入此 Dictionary 类的对象中,然后将 Dictionary 添加到绑定到 DataGrid 的 ObservableCollection 中。

于 2013-06-12T07:26:40.073 回答