2011-06-10 11 views
1

私はブートストラップとしてNinjectを使用しています(主に、慣習に基づく登録と流暢なAPIのためです)。 Prism 4ナビゲーションフレームワークのRequestNavigateAsync呼び出しを使用して、あるページから別のページに移動します。 APIは、オブジェクトの名前付きインスタンスをコンテナ内で検索し、ナビゲートする必要があるビュー/ビューモデルを解決します。これにはUnity構文があります。それは簡単にナビゲーションフレームワークとゲル化するように、Ninjectで container.RegisterType( "InboxView" 代わりのcontainer.RegisterType( "InboxView")SilverlightとPrismでのNinjectの登録

を使用するためにrecommened

ITSは、どのように私は、同様の効果を得ることができますか? あなたは(それが役立つかもしれない)Ninjectに指定されたインスタンスを登録する方法を示していくつかのコード/文書を提供することができます。

答えて

2

これはユニティ

var container = new UnityContainer(); 
container.RegisterType<object, InboxView>("InboxView"); 
であなたの構文であると仮定すると、 210

Ninjectの同等の構文は、

var kernel = new StandardKernel(); 
kernel.Bind<object>().To<InboxView>().Named("InboxView"); 
+0

です。これは正しい構文のようです。 servicelocatorを使用して this.serviceLocator.GetInstance (candidateTargetContract)のインスタンスを取得すると、オブジェクトのインスタンスが表示されます。これがPrismがコードベース内でインスタンスを作成する方法です。しかし、何とか、これはまだナビゲーションプロセスを完了しません。何か案は?誰もNinjectでプリズムナビゲーションフレームワークを使用しましたか? – bkhanal

+0

最終的にはうまくいった。 servicelocatorがブートストラップで正しく設定されていないように見え、プリズムコードを通過した後、私はその部分を修正しました。構文をありがとう。 – bkhanal

+0

@bkhanal私は、私のブートストラップでServiceLocator.SetLocatorProvider(Injecter.Get );をやっています(私のNinjectServiceLocatorのシングルトンインスタンスを取得します)。 NinjectServiceLocatorはビューを返しますが、ビューを含むcontentcontrolは空のままです。どのように解決しましたか? – LueTm

関連する問題