0

嗨,我是 wpf 数据网格的新手。我不知道如何在 wpf 数据网格的一行中插入特定单元格中的数据。

在普通的 Windows 窗体应用程序中,我可以通过将列表与 datagridview 绑定来实现这一点

dataGridView.Columns["UserName"].datapropertyName = "USERNAME";
dataGridView.Columns["Role"].datapropertyName = "Role";

 BindingSource bs = new BindingSource();
 bs.DataSource = UserList;
 dataGridView.DataSource = bs;

for(int i=0; i<UserList.Count; i++)
{
   dataGridView.Rows[i].Cells["Company"].Value = "Default";
}

现在我想在 wpf datagrid 中实现同样的效果,任何人都可以提供示例代码。对不起我的英语不好,提前感谢。

4

1 回答 1

0

首先,您需要一个包含要显示的各种属性的类。我假设,因为您已经有一个 UserList,所以该类是 User(并实现 INotifyPropertyChanged),并且 UserList 是包含所有数据的列表。

首先,如果要向 UserList 添加新用户,并更新 DataGrid,则 UserList 变量需要是 ObservableCollection 类型。

然后,在 XAML 中,将 UserList 绑定到 DataGrid。有很多关于如何做到这一点的信息,但最简单的方法是将 DataContext 设置为包含 UserList 的类,然后只使用 DataGrid,如下所示:

<DataGrid ItemSource="{Binding UserList}"/>

然后,要更改值,只需编辑用户的属性,而不是网格。

for(int i=0; i< UserList.Count; i++)
{
   UserList[i].Company = "Default";
}
于 2013-08-10T13:39:54.370 回答