셸을 만들 때 WPF/PRISM에서는 App.Current.MainWindow
에 할당됩니다. 그러나 브라우저에서 WPF (XBAP) 라인에서 :XBAP/프리즘에서 쉘을 초기화하는 방법은 무엇입니까?
App.Current.MainWindow = (Window)Shell;
오류 메시지와 함께 실패합니다
?타입 입력 할 'XBAPClient.Page1' '개체를 캐스팅 할 수 없습니다 System.Windows.Window '.
는protected override DependencyObject CreateShell() { return this.Container.GetExportedValue<Page1>(); } protected override void InitializeShell() { base.InitializeShell(); App.Current.MainWindow = (Window)Shell; App.Current.MainWindow.Show(); }
어떻게 쉘을로드 할 수 있습니다
당신이 대신 윈도우의 페이지를 사용하여 XBAP를 사용하는 경우. 따라서 쉘을 창에 투영 할 수는 없습니다. 자세한 내용은이 스레드를 확인하십시오. http://compositewpf.codeplex.com/discussions/31058?ProjectName=compositewpf – kmatyaszek
업데이트 : 첫 번째 주석을 읽었습니다. 지시 사항은 훌륭했습니다. 그러나 아직도 운이 없다. 왜 그 실행되지 조사. 그러나 적어도 그 건물. 고마워 – Houman
@ kmatyaszek 안타깝게도'Page1.xaml.cs'가'Bootstrapper.ShellPage = this'를 설정하기 전에'CreateShell'이 먼저 호출됩니다; 따라서 항상 null 쉘을 반환합니다. 조언 있니? – Houman