Ninjectを使用してビューモデルのインスタンスを各ビューのDataContextプロパティに挿入し、ServiceLocatorの使用を避け、 hereを示唆したようNinjectModule:WP7とNinject、アプリケーションにIoCコンテナからビューインスタンスを取得させる方法
public class TestingModule : NinjectModule
{
public override void Load()
{
Bind<MainPage>().ToMethod(ctx => new MainPage() { DataContext = new MainPageViewModel() }).InSingletonScope();
}
}
私が使用している場合:
var x = Kernel.Get<MainPage>();
はその後、X内のDataContextプロパティが素晴らしいですMainPageViewModelのインスタンスに設定されています。
ページにナビゲートするときや起動時にアプリケーションがDIコンテナからビューインスタンスを取得しないため、デバイスまたは内部でアプリケーションを実行しているときにDataContextプロパティが決して設定されないという問題がありますエミュレータ
私はビューのインスタンスをDIコンテナから取得するようにアプリを強制することができるようにビューの作成を傍受する方法を知っていますか?