代码之家  ›  专栏  ›  技术社区  ›  Burt

更新集合中的项并在WPF中显示

  •  0
  • Burt  · 技术社区  · 14 年前

    我有以下场景:

    1. 用户在表单中输入值并提交
    2. Submit方法调用一个将与表单相关的对象作为参数传递的服务
    3. 对象被持久化到数据库中
    4. 对象将被分配一个新的ID并返回到调用方法
    5. 对象将添加到Submit方法中的集合中

    我有一个Expander控件,它使用项列表绑定到集合,并且每个列表中都有一个子列表。

    刷新视图以显示更新对象的最佳实践是什么?我所做的刷新集合是:

                 ObservableCollection<ProjectDto> projects = new ObservableCollection<ProjectDto>();
                    Projects.ForEach(projects.Add);
                    Projects.Clear();
                    projects.ForEach(Projects.Add); 
    

    这会使扩展器崩溃,因为我认为它正被绑定到一个新的集合。

    1 回复  |  直到 14 年前
        1
  •  0
  •   Berryl    14 年前

    项目(小P)和项目(资本P)之间的关系是什么?为什么有两个列表? 你的装订是什么样子的?

    编辑

    让我们假设项目是一个可观察的集合,是绑定到您的UI的集合,并且项目是一个临时的、域模型或后端列表,用于组装和准备(排序、验证等)用于表示的DTO。在这种情况下,项目可以只是一个列表,每次执行projects=new observablecollection(projects)时,绑定的UI项集合都应该刷新。

    贝里尔