0

我正在使用 PagedCollectionView 进行分组。我有一个 DataGrid 和一个带有搜索按钮的文本框。网格的 ItemSource 是我的 PagedCollectionView,而 PagedCollectionView 包装了一个 ObservableCollection,因为网格中的项目可以通过后台进程更新其绑定对象。当您单击搜索时,我首先通过 ObservableCollection 清除,然后使用数据库中的数据加载它。当我对我的集合调用 clear 时,DataGrid 上的内容消失了,包括列。当项目添加到我的收藏时,它们会重新出现。我真的很希望这些列和它们的标题保留下来,因为当它们消失时会很不和谐,更不用说排序顺序等丢失了。我相信这些项目会立即消失,因为它是一个 ObservableCollection,但我需要这样才能通过上述后台进程更新行。如果我将 PagedCollectionView 作为包装器删除,并且只是将 DataGrid 的 ItemSource 设置为 ObservableCollection,则不会发生这种行为,即使清除了集合,我的列和标题仍然存在,并且我的行会通过后台进程即时更新。有没有其他人观察到这种行为?有谁知道任何解决方法?还是我只是做错了什么?有没有其他人观察到这种行为?有谁知道任何解决方法?还是我只是做错了什么?有没有其他人观察到这种行为?有谁知道任何解决方法?还是我只是做错了什么?

4

1 回答 1

0

出现问题是因为我使用的是自动生成的列。每次我清除我的收藏时,PageCollectionView 都会为我重新生成列。通过关闭该属性并使用 Blend 为我“预生成”列,我能够解决这个问题。

于 2009-11-30T14:54:40.100 回答