--- title: WPF DataGrid 可编辑集合与大型树搜索修复 type: experience permalink: main/projects/4111f53b-afa5-48e1-aaf8-d70a7edc0638/wpf-data-grid-可编辑集合与大型树搜索修复 stable_id: e9b97961-961f-4499-974e-d2661ad1d6d3 scope: project project_id: 4111f53b-afa5-48e1-aaf8-d70a7edc0638 memory_type: experience status: active revision: 1 restored_from_commit: 6a6a895eafcca6052e81a14fca103a42635dd1c2 created_at: '2026-09-23T14:52:47.842580+00:00' updated_at: '2026-09-23T14:52:47.842642+00:00' tags: - wpf - datagrid - search - performance - bugfix --- AoE3 WPF 编辑器中,DataGrid 的 ItemsSource 若直接绑定 LINQ Where 返回的 IEnumerable,WPF 默认集合视图不支持 IEditableCollectionView.EditItem,双击单元格会抛“此视图不允许 EditItem”。修复方式是维护 ObservableCollection VisibleFields,在实体或字段分组改变时用原字段对象刷新集合。国家树包含 126 个文明及大量建筑/关系节点,不能在 Search setter 中同步递归过滤整树;改为 300ms 防抖、CancellationTokenSource 取消旧请求,并在后台仅检索 Civs、Entities、Relations 轻量集合,UI 线程一次替换最多 250 个直接可点击结果,清空搜索立即恢复完整 CivTree。真实 Data.bar 验证“阿坎”“Spanish”“Musketeer”搜索成功,WPF 集合视图 EditItem/CommitEdit 成功。