Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.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
将ObservableCollection从Xml保存文件加载到Datagrid(C#,Wpf)_C#_Xml_Wpf_Datagrid_Observablecollection - Fatal编程技术网

将ObservableCollection从Xml保存文件加载到Datagrid(C#,Wpf)

将ObservableCollection从Xml保存文件加载到Datagrid(C#,Wpf),c#,xml,wpf,datagrid,observablecollection,C#,Xml,Wpf,Datagrid,Observablecollection,好吧,我希望如果我不发布我的代码也没问题,因为它包含私有部分 我会尽可能地描述它。因此,我对网格执行了一个可观察收集,没有onpropertychange和databind。如果我在集合中添加一些东西,datagrid会更新,那么一切都会正常工作。但是如果我从xml保存文件中获取observablecollection,它不会更新 到目前为止,我检查了observablecollection是否加载了所有内容(它确实加载了所有内容),并尝试更新datagrid手册(没有任何内容)。如果有人能在不

好吧,我希望如果我不发布我的代码也没问题,因为它包含私有部分

我会尽可能地描述它。因此,我对网格执行了一个
可观察收集
,没有
onpropertychange
databind
。如果我在集合中添加一些东西,datagrid会更新,那么一切都会正常工作。但是如果我从xml保存文件中获取observablecollection,它不会更新


到目前为止,我检查了observablecollection是否加载了所有内容(它确实加载了所有内容),并尝试更新datagrid手册(没有任何内容)。如果有人能在不看代码的情况下给我建议,我很高兴。:)

我的最佳猜测是,您应该在加载ObservableCollection后再次设置DataGrid的ItemsSource属性

使用以下命令:

datagrid.ItemsSource = null;
datagrid.ItemsSource = yourObservableCollection;

我的最佳猜测是,您应该在加载ObservableCollection之后再次设置DataGrid的ItemsSource属性

使用以下命令:

datagrid.ItemsSource = null;
datagrid.ItemsSource = yourObservableCollection;

如果要更改整个集合,则UI无法识别更改,因为您没有使用
INotifyPropertyChanged
。您有两个选择:

  • 实现INotifyPropertyChanged并在将新集合设置为源后引发事件
  • 清除旧集合,并将新项目填入旧集合

  • 如果要更改整个集合,则UI无法识别更改,因为您没有使用
    INotifyPropertyChanged
    。您有两个选择:

  • 实现INotifyPropertyChanged并在将新集合设置为源后引发事件
  • 清除旧集合,并将新项目填入旧集合

  • 还是不起作用,我想Fruchtzwerg说的是问题所在,还是谢谢还是不起作用,我想Fruchtzwerg说的是问题所在,还是谢谢