Silverlight 在DataGrid中包装ObservableCollection时,PagedCollectionView会在不存在数据时清除列标题

Silverlight 在DataGrid中包装ObservableCollection时,PagedCollectionView会在不存在数据时清除列标题,silverlight,silverlight-3.0,datagrid,header,observablecollection,Silverlight,Silverlight 3.0,Datagrid,Header,Observablecollection,我正在使用PagedCollectionView进行分组。我有一个数据网格和一个带有搜索按钮的文本框。网格的ItemSource是my PagedCollectionView,PagedCollectionView包装了ObservableCollection,因为网格中的项目可以通过后台进程更新其绑定对象。当您单击搜索时,我首先通过ObservaleCollection清除,然后用数据库中的数据加载它。当我对我的集合进行清除时,DataGrid上的内容(包括列)就消失了。当项目添加到我的收藏中

我正在使用PagedCollectionView进行分组。我有一个数据网格和一个带有搜索按钮的文本框。网格的ItemSource是my PagedCollectionView,PagedCollectionView包装了ObservableCollection,因为网格中的项目可以通过后台进程更新其绑定对象。当您单击搜索时,我首先通过ObservaleCollection清除,然后用数据库中的数据加载它。当我对我的集合进行清除时,DataGrid上的内容(包括列)就消失了。当项目添加到我的收藏中时,它们会重新出现。我真的希望列和它们的标题保持不变,因为当它们消失时,会非常不和谐,更不用说排序顺序等也会丢失。我相信这些项会立即消失,因为这是一个可观察的集合,但我需要这样做,以便通过前面提到的后台过程更新这些行。如果将PagedCollectionView作为包装器删除,并简单地将DataGrid的ItemSource设置为ObservableCollection,则不会发生任何此类行为,即使清除集合,我的列和标题也会保持不变,并且我的行会由后台进程即时更新。还有其他人观察到这种行为吗?有人知道什么解决办法吗?还是我只是做错了什么?

出现问题是因为我使用了自动生成的列。每次我清除集合时,PageCollectionView都会为我重新生成列。通过关闭该属性并使用Blend为我“预生成”列,我可以绕过这个问题。

您能为这个问题添加一些格式吗?非常难理解。