아직 "깨끗한"해결책을 찾지 못했습니다. 하지만 이것이 우리가 해결 한 방법입니다.
부트 스트 래퍼 함수 InitializeShell()에서 미리로드하려는 모든보기로 이동합니다. 마지막으로 홈 화면에 표시하려는 모든보기로 이동합니다.
protected override void InitializeShell()
{
base.InitializeShell();
Application.Current.MainWindow = (MainShell) Shell;
// Preload views
// ---- Load (navigate to) all views here you want to have preloaded
// Load actual default views
// ---- Load (navigate to) the actual views for your "homescreen"
// Finished loading now show the shell
Application.Current.MainWindow.Show();
}
많은 상황에서 이상적인 상황이 아니며 많은 유지 관리 작업을 수행 할 수 있습니다. 이것은 나를위한 일이지만, 누군가가 더 좋은 해결책을 가지고 있다면 나는 또한 관심이있다. 이 도와 줄 수없는 경우
에서 바쁜 지표를 사용 내가 마음에 가지고 있었던 것의 종류. 이것은 단기적인 해결책이지만, Prism 팀이 앞으로 문제에 대한 해결책을 제시 할 것이라는 희망이 항상 있습니다. –
보기를 미리로드하는 책임을 맡을 수 있다면 좋을 것입니다. 초기화 도중 이전 시점에 뷰를로드/탐색하려고 시도 했습니까? 그렇지 않으면 오류가 발생합니까? –
부트 스트랩의 초기 단계에서보기를 "미리로드"하려고 시도했지만 아직 일부 ViewModel을로드하지 않았으므로 Null 예외가 발생했습니다. –