MVVM模型实例化

Wer*_*ght 11 wpf model instantiation mvvm

在WPF MvvmFoundation之后,将View与ViewModel链接有许多选择,如http://www.paulstovell.com/mvvm-instantiation-approaches中所述.

但是,他们的示例没有关于如何将ViewModel与Model链接.

传统上我首先创建模型,然后创建一个或多个渲染它的视图.似乎MVVM推动人们创建View,它创建了ViewModel,它创建了Model.我希望情况并非如此,因为使用各种ModelView连接复杂的商业模式可能很难.

如何在MVVM中实例化业务模型类并将它们与ViewModel 链接

Sou*_*asu 11

我通常将Model对象作为构造函数params传递给VM.我使用App类作为控制器,它将使用主模型初始化MainWindow,MainWindowViewModel.在MainWindowViewModel负责使用适当的模型对象初始化其他VM之后.

    private void Application_Startup(object sender, StartupEventArgs e)
    {
        mainWindow = new MainWindow();
        mainWindow.DataContext = new MainWindowViewModel(new Model());
        mainWindow.Show();
    }
Run Code Online (Sandbox Code Playgroud)


Rac*_*hel 5

您可以在ViewModel中创建BusinessModel类。

因此,在您中CustomerViewModel您会说this.CurrentCustomer = new CustomerModel(),并且您CustomerView将绑定到CurrentCustomerViewModel上的属性

如果您有兴趣,我使用MVVM编写了一个简单的示例,作为View,Model和ViewModel如何交互的示例。