【问题标题】:PagedCollectionView when wrapping an ObservableCollection in a DataGrid clears Column headers when no data is present在 DataGrid 中包装 ObservableCollection 时的 PagedCollectionView 在不存在数据时清除列标题
【发布时间】:2010-12-20 01:13:57
【问题描述】:

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

【问题讨论】:

  • 您能否为这个问题添加一些格式 - 很难阅读。

标签: silverlight silverlight-3.0 datagrid header observablecollection


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2011-11-12
    • 1970-01-01
    • 1970-01-01
    • 2021-08-25
    • 2011-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-21
    相关资源
    最近更新 更多