动态地将列和行添加到wpf listview

时间:2013-06-05 08:24:38

标签: wpf listview row add

我想在运行时向C#WPF ListView(GridView)添加新的列和行。据我所知,您只能通过使用匿名对象或具有列绑定到的静态成员集的类来向gridview添加行。有没有办法在运行时执行此操作,用户可以添加新列,将此列绑定到某些内容并添加新数据?

THX ooorndtski

2 个答案:

答案 0 :(得分:1)

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

这是来自MSDN(gridview名称“myGridView”)的示例:

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

一般来说,你可以在XAML中做任何事情,你可以在代码中做。

答案 1 :(得分:0)

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

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