我是Wpf&Mvvm领域的新手,但我找到了一些例子并发现有一些不同的实例化模型的方式。我想知道最好/正确的方法是什么。两种方法都使用Unity。
我所发现的:
var navigatorView = new MainView();
navigatorView.DataContext = m_Container.Resolve<INavigatorViewModel>();
m_RegionManager.Regions["NavigatorRegion"].Add(navigatorView);
我所做的:
var navigatorView = m_Container.Resolve<MainView>;
m_RegionManager.Regions["NavigatorRegion"].Add(navigatorView);
我把构造函数改成了接收ViewModel,这样就可以将DataContext指向它:
public MainView(NavigatorViewModel navigatorViewModel)
{
this.DataContext = navigatorViewModel;
}
我找到了其他的方法,例如:
...vm = new viewmodel
...m = new model
v.model = vm;
获取/设置DataContext
干杯