我不知道如何在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