MainWindowViewModelのコンストラクタコールでパラメータを挿入する方法がわかりません。私が望むのは、現在のメインウィンドウ(this)のインスタンスをviewmodellocatorに登録することです。どのように私はこれを達成することができますか?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