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

1.4 KiB
Raw Blame History

title, type, permalink, stable_id, scope, memory_type, project_id, usage_profile_id, status, revision, request_id, created_at, updated_at, tags
title type permalink stable_id scope memory_type project_id usage_profile_id status revision request_id created_at updated_at tags
WPF DataGrid 可编辑集合与大型树搜索修复 experience main/projects/4111f53b-afa5-48e1-aaf8-d70a7edc0638/wpf-data-grid-可编辑集合与大型树搜索修复 e9b97961-961f-4499-974e-d2661ad1d6d3 project experience 4111f53b-afa5-48e1-aaf8-d70a7edc0638 7aee455b-24cc-4008-bdaf-443721e6f939 active 1 aoe3-search-edititem-fix-20260902 2026-09-02T00:43:45.009735+00:00 2026-09-02T00:43:45.009735+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 成功。