我知道执行此操作的方法,但是我正在尝试找出使用MVVM和/或WPF准则执行此操作的“正确”方法。
所以基本上这是我的情况:
我想知道的是,一旦他们按下“提交联系人”按钮并将新联系人保存到数据库中,将“新”联系人添加到“联系人”窗口中的ObservableCollection的“正确”方法是什么?客户窗口中的联系人(无需声明全局公共变量-显然我已经知道这一点)。
我正在使用MVVM,其中View模型包含公共/私有属性和集合,这些属性和集合绑定到Window本身的各种控件,而后面的代码实例化ViewModel的实例。
已解决的更新:我想为此打个招呼。基本上,我只是在Contact类型的子窗口中创建了一个公共委托,然后在父窗口中订阅了它,然后将通过委托传递的Contact添加到联系人列表中
答案 0 :(得分:0)
我认为您对此太想了...
报告成功后,窗口应该通过方法调用提供新实例,或者应将各个属性设置为依赖项属性,并从这些属性创建新实例。两种方式都可以将新的实例副本添加到VM的可观察集合中并添加。
无需往返回数据库即可获取新值或整个对象列表。