2014-09-13 3 views
1

로그온 화면에 여러 개의 사용자 화면 (고객 요약, 주문 세부 정보 등)이있는 WPF/Prism/MVVM 응용 프로그램이 있습니다. 로그온 화면이 다른 화면보다 작습니다. 로그온 화면에서 다음 화면으로 전환 할 때 창 크기를 조정하려면 어떻게합니까?보기가 바뀔 때 창 크기 조정

+0

, 왜 안 하나 [별도의 Windows를 사용 (HTTP ://stackoverflow.com/a/12861797/302677) 로그인을 중심으로 전체 크기의 창이 있습니까? – Rachel

답변

0

나는 똑같은 필요를 가지고 있었지만, 내가 한 일이 '맞다'는 것이 확실하지는 않지만 잘 작동했다. 내가 한 일은 'ShellWindowService'를 만드는 것이 었습니다. 그런 다음이 서비스를 등록 (Unity를 사용)하고 ChangeWindowSize 함수를 노출했습니다.

그런 다음 기본적으로, 나는 DI 또는

ServiceLocator.Current.GetInstance<Common.Services.ShellWindowService>(); 

이제 ServiceLocator 타격에서 어느 서비스에 액세스 할 수, 단순히 사용하여 응용 프로그램에 어디에서 쉘 창 크기를 변경하려면이 서비스를 사용할 수 있습니다 ShellWindowService.

0

내가 탐색을 차단하고 기본 창 크기를 변경 INavigationAware에 의해 노출 OnNavigatedTo를 사용,이 같은 코드가 보이는 방법 : 호기심의 아웃

public void OnNavigatedTo(NavigationContext navigationContext) 
     { 

      var activeView = navigationContext.NavigationService.Region.ActiveViews.First() as UserControl; 
      var window = Window.GetWindow(activeView); 
      window.Width = activeView.Width; 
      window.Height = activeView.Height; 
     }