C# 如何在WPF中循环数据网格?

C# 如何在WPF中循环数据网格?,c#,wpf,datagrid,C#,Wpf,Datagrid,我正在尝试插入DataGrid的所有行值,因此我希望循环DataGrid行和 插入单元格值,在窗口窗体中我正在使用此代码 for (int i = 0; i < dataGridView1.Rows.Count; i++) { dataGridView1.AllowUserToAddRows = false; sale.InsertPerchBill(Convert.ToInt32(textBox1.Text), comboBox1.Text) // Insert func

我正在尝试插入DataGrid的所有行值,因此我希望循环DataGrid行和 插入单元格值,在窗口窗体中我正在使用此代码

for (int i = 0; i < dataGridView1.Rows.Count; i++)
{
    dataGridView1.AllowUserToAddRows = false;
    sale.InsertPerchBill(Convert.ToInt32(textBox1.Text), comboBox1.Text) // Insert function
}
问题是,我不知道如何才能实现DataGrid的循环,因为代码在WPF中不起作用


如何循环数据网格并获取行值?

您可以循环数据网格中的项。如果将网格绑定到一个类,只需键入cast即可

   for (int i = 0; i < dataGridView.Items.Count; i++)
      (
       YourClass foo = (YourClass)dataGridView.Items[i];
       //do what you need to with that row (item)
      }
然后创建一个列表,称之为list people,并将所有行对象插入其中

 List<Person> people = new List<Person>();
 for(int i = 0; i < 10; i++)
  {
   Person tempPerson = new Person(){age=5, phoneNum=5555555555};
   people.Add(tempPerson);
  }

可以将数据网格设置为基于属性名称自动创建列标题。在这种情况下,列标题将是'age'、'phoneNum'和name

您应该使用WPF中的绑定来完成。 假设您有viewModel,您有可能是集合或列表的属性。
您应该将此属性绑定到视图中的DataGrid ItemSource,并且可以像我们在c代码中所做的那样枚举此集合

是否将数据插入类中保留的行中?你有所有行数据的列表吗?@TheBlindSpring在datagrid中插入行中的数据如果我有三行要同时插入,那么你会混淆Wpf和窗口窗体,如果您想在wpf和winform之间存在混淆的情况下向DataSeem添加项,为什么不使用bindinghow i catch to cell值在此处向datagrid添加项?我必须上哪门课?这个答案有意义吗?我应该解释填充行列表吗?
 List<Person> people = new List<Person>();
 for(int i = 0; i < 10; i++)
  {
   Person tempPerson = new Person(){age=5, phoneNum=5555555555};
   people.Add(tempPerson);
  }
   dataGridView1.ItemsSource = people;