Files
MemRelay/projects/4111f53b-afa5-48e1-aaf8-d70a7edc0638/WPF DataGrid 可编辑集合与大型树搜索修复.md
T

1.4 KiB
Raw Blame History

title, type, permalink, stable_id, scope, project_id, memory_type, status, revision, restored_from_commit, created_at, updated_at, tags
title type permalink stable_id scope project_id memory_type status revision restored_from_commit created_at updated_at tags
WPF DataGrid 可编辑集合与大型树搜索修复 experience main/projects/4111f53b-afa5-48e1-aaf8-d70a7edc0638/wpf-data-grid-可编辑集合与大型树搜索修复 e9b97961-961f-4499-974e-d2661ad1d6d3 project 4111f53b-afa5-48e1-aaf8-d70a7edc0638 experience active 1 6a6a895eaf 2026-09-23T14:52:47.842580+00:00 2026-09-23T14:52:47.842642+00:00
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 成功。