2012-05-11 32 views
3
container.RegisterType<object, LabStatusView>("LabStatusView"); 
Uri LabStatusViewUri = new Uri("pack://application:,,,/LabStatus;component/LabStatusView.xaml",  
UriKind.Absolute); 
regionManager.RequestNavigate("HorizonNavigatorView",LabStatusViewUri,NavigationCompleted); 

これはLabStatusViewにナビゲートするために使用していますが、これは簡単です。 requestNavigateが実行された後Prism、MVVM、Unityを使用した切り替えナビゲーションの表示

ObjectStates:

  1. regionManager.Regions.ActiveRegion代わりLabStatusViewのタイプの "オブジェクト" のオブジェクトを含みます。
  2. 私が知っているUnityを使用する唯一の癖は、RegiterTypeメソッドのオーバーロードを使用して自分のタイプを登録していることです。

ここで間違っていることは何ですか?

答えて

3

To Navigateは、コードよりもずっと簡単です。ここで私はプロジェクトのためにそれをしました。

//Register your View on Startup 
container.RegisterType<object, LabStatusView>("LabStatusView"); 

//Navigation works like this 
var labStatusView = new Uri("LabStatusView", UriKind.Relative); 
regionManager.RequestNavigate("HorizonNavigatorView", labStatusView); 

このようにお試しいただけますか?

また、「マジック文字列」を避けるために、多くの人がリージョン名とビュー名に静的クラスを使用しています。 このようなものです。

+0

URIコンストラクタでLabStatusViewだけを使用することはできません。別のアセンブリに存在するためです。だから私はpack:formatを使う必要があった。私はこれを試みたが、うまくいかなかった。ナビゲートした後は、常にオブジェクト型の参照があります。 –

+0

私は見つからなかったものを見つけました。コンテナに登録するために使用する名前は、URIを作成するときに使用する名前です。彼らは同じでなければならない。私は、URIを作成しながらクラスへのパスを与えなければならないと思った。 –

+0

'object'型のマッピングをありがとう - それは私のためにすべての違いを作った – BCA

関連する問題