Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将数据粘贴到WPF数据网格中_C#_Wpf_Datagrid - Fatal编程技术网

C# 将数据粘贴到WPF数据网格中

C# 将数据粘贴到WPF数据网格中,c#,wpf,datagrid,C#,Wpf,Datagrid,我试图使用下面的代码将剪贴板中的数据粘贴到WPF数据网格的底部,但它一直说索引为负数或高于行数 CanUSerAddRows设置为true string text = Clipboard.GetText(); string[] line = Regex.Split(text , ","); foreach (string word in line) { int index = DgInvoiceLines.Items.Count; string prodCode = word

我试图使用下面的代码将剪贴板中的数据粘贴到WPF数据网格的底部,但它一直说索引为负数或高于行数

CanUSerAddRows设置为true

string text = Clipboard.GetText();

string[] line = Regex.Split(text , ",");

foreach (string word in line)
{

   int index = DgInvoiceLines.Items.Count;
   string prodCode = word ;

   DataGridCell ProdCodeCell = GetCell(index, 0);
   DataGridCellInfo pcell = new DataGridCellInfo(ProdCodeCell);
   string ProdCellContentType = pcell.Column.GetCellContent(pcell.Item).GetType().Name.ToString();
   if (ProdCellContentType == "TextBlock") ((TextBlock)cell.Column.GetCellContent(cell.Item)).Text = prodCode;
   else if (ProdCellContentType == "TextBox") ((TextBox)cell.Column.GetCellContent(cell.Item)).Text = prodCode;

   DataGridCell CommentCodeCell = GetCell(index, 12);
   DataGridCellInfo Ccell = new DataGridCellInfo(CommentCodeCell);
   string CommentCellContentType = Ccell.Column.GetCellContent(Ccell.Item).GetType().Name.ToString();
   if (CommentCellContentType == "TextBlock") ((TextBlock)cell.Column.GetCellContent(cell.Item)).Text = "Ord";
   else if (CommentCellContentType == "TextBox") ((TextBox)cell.Column.GetCellContent(cell.Item)).Text = "Ord";

   index = index + 1;
}
编辑

如果我将索引更改为0,它将引发空引用异常

非常感谢您的帮助。
谢谢

我认为最好的方法是创建额外的数据对象,以添加到网格(我假设)绑定到的基础集合中。 如果grids ItemsSource是一个
ObservableCollection
,则新行将自动显示