2016-08-17 125 views
0

enter image description here如何在DataGrid已经加载后更新它?上述

的显示我DataGrid.dataGrid_Loaded()方法创建一对夫妇的“记录”,并将它们添加到我的DataGrid中使用了其“的ItemsSource”

线156我有另外一个记录列表注释掉了(这是在grid.ItemsSource被设置之后)。如果我重新添加该行,我的代码就会中断。必须有办法用新数据更新我的DataGrid,但是如何?

谢谢你的帮助!

当我取消注释行156,我得到:

“System.InvalidOperationException”类型的未处理的异常出现在PresentationFramework.dll

附加信息:一个ItemsControl是带项目源不一致。

查看内部例外以获取更多信息。

+2

定义并解释'我的代码中断'。我们试图解决什么问题? – Plutonix

+0

为什么不在设置ItemsSource之前移动添加一行的行,或者可以设置grid.ItemsSource = null,然后取消注释行,然后添加grid.ItemSource =记录。 – MethodMan

+0

@MethodMan我遇到的问题是,如果没有应用程序崩溃,我无法更新ItemsSource。我有它作为一个例子的行,最终我的DataGrid将更新与套接字接收的数据。 – MrDysprosium

回答

0

您需要更改它之前清除ItemsSource

List<string> items = new List<string>() { "a", "b" }; 
dataGrid.ItemsSource = items; 

// some code 

dataGrid.ItemsSource = null; 
items.Add("c"); 
dataGrid.ItemsSource = items; 

// dataGrid contains: "a", "b", "c" 

您可能需要使用ObservableCollection<T>并使用你的XAML结合 - 项目将自动更新。

相关问题