如何处理使用MVVM打开和关闭新窗口?
使用MVVM和WPF什么是处理打开和关闭新窗口和对话框的好方法? 开启和关闭应该由ViewModel驱动? 但ViewModel不应该了解视图...
我通常为此使用接口。 例如,如果我想在单独的窗口中编辑记录,我有一个接口IEditingProvider <TViewModel>,我可以在其他位置实现,然后将接口引用传递给ViewModel的构造函数。 EditingProvider可能只是做这样的事情:
class MyRecordEditingProvider: IEditingProvider<MyRecordViewModel>
{
    // Implementation of generic interface method
    public void Edit(MyRecordViewModel model) {
        EditWindow edit = new EditWindow(); 
        edit.DataContext = model;
        edit.ShowDialog();
    }
}
上一篇: How do I handle opening and closing new Windows with MVVM?
