我不知道如何在MainWindowViewModel的构造函数调用中注入参数。我想要的是在viewmodellocator中注册当前主窗口(this)的一个实例。我怎样才能做到这一点?如何使用mvvmlight处理依赖注入
这是我在viewmodellocator类情况:
public ViewModelLocator()
{
ServiceLocator.SetLocatorProvider(() => SimpleIoc.Default);
//SimpleIoc.Default.Register<Window>(); //THIS IS NOT WORKING BECOUSE ITS A NEW INSTANCE, I NEED THE INSTANCE OF THE CURRENT MAINWINDOW HERE.
SimpleIoc.Default.Register<MainWindowViewModel>();
}
MainViewModel:
public MainWindowViewModel(Window window)
{
this.Window = window;
//Listen out for the window resizing
this.Window.StateChanged += StateChanged;
}
MainWindow.xaml
DataContext="{Binding MainWindow, Source={StaticResource Locator}}"
顺便说一句,你是通过提供一个视图引用您的视图模型打破了整个MVVM概念。视图模型不应该关注视图。 – dymanoid