2017-12-01 24 views
0

지역 (프리즘 5.0)에서의 getView 할 수 없습니다. 내가 모듈 A에서 2 모듈 이

private void OnLogout() 
    { 
     RegionManager regionManager = (RegionManager)Application.Current.Resources["MainRegionManager"]; 
     var view = regionManager.Regions["MainRegion"].GetView("uc_LogIn"); 
    } 

보기 "는 null

그래서, 어떻게 할 수있는 : 모듈 B의 함수에서

public void Initialize() 
    { 
     this.RegionManager.RegisterViewWithRegion("MainRegion",typeof(uc_LogIn)); 
     this.RegionManager.RegisterViewWithRegion("NavigatorRegion", typeof(uc_LogInNavigate)); 

     if (Application.Current.Resources.Contains("MainContainer")) 
      Application.Current.Resources["MainContainer"] = this.Container; 
     else 
      Application.Current.Resources.Add("MainContainer", this.Container); 
     if (Application.Current.Resources.Contains("MainRegionManager")) 
      Application.Current.Resources["MainRegionManager"] = this.RegionManager; 
     else 
      Application.Current.Resources.Add("MainRegionManager", this.RegionManager); 
    } 

나는 view 이름없이 RegionManager에서보기를 얻을.

또는

전에서 view 이름을 설정하는 방법 RegisterViewWithRegion 함수?

답변

0

질문 : ViewName없이 RegionManager에서 뷰를 얻으려면 어떻게해야합니까?

또는 내가 RegisterViewWithRegion 기능에 view 이름을 설정하는 방법

?

"MainRegion"에는 해당 시간까지 활성 커서가 없으므로 "null"이됩니다.

var view = _regionManager.Regions["MainRegion"].ActiveViews; 

지역의 모든 활성보기 모음을 읽기 전용으로 볼 수 있습니다.

하지만 OnLogout()에 로그인보기 (uc_Login)로 이동하는 방법을 물어보고 싶다고 생각하십니까 ?? 특정 지역 관리자로 이동하려면 다음과 같이 할 수 있습니다.

탐색 할 영역의 이름을 지정할 수있는 RegionManager에서 RequestNavigate 메소드를 호출 할 수 있습니다. 이 편리한 메서드는 앞의 코드 예제 (https://msdn.microsoft.com/en-us/library/gg430861(v=pandp.40).aspx) 에서처럼 지정된 영역에 대한 참조를 가져온 다음 RequestNavigate 메서드를 호출합니다.

regionManager.RequestNavigate("MainRegion", 
           new Uri("uc_LogIn", UriKind.Relative));