2017-05-20 9 views
0

:OnNavigatedTo 메서드에서 InteractionRequest를 발생시킬 수 없습니까? 나는 그것의 모듈이로드되는보기로 이동하고있어

나는이 NotificationRequest (그의 PopupWindow)를 제기 할이보기로 이동
public void OnImportsSatisfied() 
{ 
    this.ModuleManager.LoadModuleCompleted += 
      (s, e) => 
      { 
       if (e.ModuleInfo.ModuleName == EmailModuleName) 
       { 
        this.RegionManager.RequestNavigate(
         RegionNames.MainContentRegion, 
         InboxViewUri); 
       } 
      }; 
    } 

;

void INavigationAware.OnNavigatedTo(NavigationContext navigationContext) 
{ 
    MyInteractionRequest.Raise(...); 
} 

디버깅을 통해 나는 InteractionRequest 내가보기로 이동 처음의 제기 이벤트 등록자가없는 것을 발견하고, 상호 작용 창이 표시되지 않습니다 이유입니다 :이 방법은 뷰 모델에 정의되어 있습니다. InteractionRequest 작업을 수행하려면 다른보기로 이동 한 다음 돌아 가야합니다. 왜 이런 일이 발생합니까? 뷰가 뷰 모델 이후 너무 늦게 생성되어 InteractionTrigger를 Interaction Request에 구독 할 수 없습니까?

+0

어디에서 'MyInteractionRequest'를 초기화합니까? –

+0

@ R. 재산 신고서에 직접 기재하십시오 – mainvoid

+0

어떤 프리즘 버전을 사용하고 있습니까? – Haukinger

답변

1

내 생각 엔 요청을 제기 할 때까지 뷰가 초기화되지 않았을 것입니다. 이는 바인딩이 생성되지 않았으며 핸들러가 추가되지 않았 음을 의미합니다. 당신은 일반적으로 나쁜 습관에 접근합니다. 페이지가 처음 표시 될 때 팝업을 표시해야하는 경우보기의로드 된 이벤트에 대한 동작을 명령에 추가하고 팝업을 표시하십시오. 이렇게하면 페이지가 완전히로드되고 모든 바인딩이 수행됩니다.

+0

나는이 방법을 사용하여 끝냈다. 감사. – mainvoid