2013-07-15 3 views
0

내 응용 프로그램에서 나는 MainPage.xaml에서 탐색 할 수있는 페이지가 있습니다. 해당 페이지에서 CameraCaptureTask이 실행됩니다.다른 페이지 또는 작업에서 탐색하는 방법을 알고 계십니까?

나는 어떻게 내가 MainPage.xaml을에서 탐색 한 경우 알 수 있습니다, 또는 CameraCaptureTask에서 돌아왔다, 페이지 로딩에 알고 싶습니다.

예상대로 MainPage.xaml을 반환하기 때문에 NavigationService.BackStack.FirstOrDefault()을 사용하면 도움이되지 않습니다. 다음 두 가지 방법 중 하나로이 작업을 수행 할 수

protected override void OnNavigatedTo(NavigationEventArgs e) 
{ 
    if (/*Navigated-from-MainPage-but-not-from-CameraCaptureTask*/) 
    { 
     // Do Something 
    } 
} 

답변

2

:

내가 좋아하는 일을하고 싶습니다. 첫 번째는 CameraCaptureTask

 CameraCaptureTask task = new CameraCaptureTask(); 
     task.Completed += new EventHandler<PhotoResult>(OnCaptureTaskCompleted); 
     task.Show(); 

... 

    void OnCaptureTaskCompleted(object sender, PhotoResult e) 
    { 
     // Navigated back or took a picture 
    } 

두 번째 방법의 Completed 이벤트를 수신하는 것입니다은 NavigationEventArgsNavigationMode 확인하는 것입니다. 값이 돌아 경우에, 당신은 당신이 난에서 다시 탐색하지 않은 때 내가 알고 싶은 것은 때문에

protected override void OnNavigatedTo(NavigationEventArgs e) 
{ 
    if (e.NavigationMode == NavigationMode.Back) 
    { 
     // came back from CameraCaptureTask 
    } 
} 
+0

(이 페이지가 다른 페이지로 이동하지 않는 가정) 다시 CameraCaptureTask에서 탐색 알고 과제, 제 생각에는 두 번째 접근 방식이 적합하다고 생각합니다. 나는 그것을 시도하자마자 알려줄 것입니다. – anderZubi

관련 문제