ViewModelLocator を使用してビューにデータコンテキストを設定するコードがたくさんあります。
現在、単純なサービス ロケーター (Simple Injector / CuttingEdge.ServiceLocation) を使用しているため、パラメーターなしのコンストラクターを持つ ViewModelLocator を Window または UserControl.Resources の XAML からインスタンス化し、DataContext の設定に使用できます。
私は Ninject を使用するように変更中ですが、同じ方法で ViewModelLocator を引き続き使用できると考えていました。しかし、Ninject はサービスの場所を直接サポートしていないことがわかりました (そして、サービスの場所は支持されなくなった概念のようです)。
XAML から (ViewModelLocator 派生クラスを使用して) ビューのビューモデルを指定し続けたいのですが、Ninject でこれを行う方法がわかりません。
これを行う方法が見つかりません。IServiceLocator (または同様のもの) をサポートする IoC コンテナーなしで、他の開発者はどのようにこれを行っていますか?
ノート:
- 私が使用している唯一の MVVM ライブラリは、Josh Smith の MvvmFoundation.Wpf です。
- ブログ記事Use Ninject to decouple discovery of your viewmodel's in mvvmlight's viewmodellocator を見てきましたが、この方法は正しくないようです。