2013-06-05 4 views
1

내 Windows Phone 8 앱에서 Caliburn Micro를 사용 중이며 앱을 종료하기 전에 뒤로 버튼을 누르면 사용자에게 메시지를 표시하려고합니다. 네, 이렇게 할 이유가 있습니다!Caliburn 마이크로 앱 종료 앱 종료

이 코드를 시도했지만 앱이 종료 된 후에 호출됩니다.

private void _navigationService_Navigating(object sender, NavigatingCancelEventArgs e) 
    { 
     if (e.NavigationMode == NavigationMode.Back) 
     { 
      if (MessageBox.Show("Are you sure?", "Exit App", MessageBoxButton.OKCancel) == MessageBoxResult.Cancel) 
      { 
       e.Cancel = true; 
      }   
     } 
    } 

아이디어가 있으십니까?

답변

1

난 당신이 내 제안이 무엇을 잘못 이벤트를 사용하여 생각 : 당신의보기

micro:Message.Attach="[Event BackKeyPress] = [Action OnGoBack($eventArgs)]" 

에서

protected override void OnBackKeyPress(System.ComponentModel.CancelEventArgs e) 
    { 
      if (!NavigationService.CanGoBack) 
      { 
       if (MessageBox.Show("Are you sure?", "Exit App", MessageBoxButton.OKCancel) == MessageBoxResult.Cancel) 
       { 
        e.Cancel = true; 
       }  
      }    
    } 
+0

잘 작동하지만보기에 있어야합니다. 뷰 모델에 넣을 수있는 것을 찾고있었습니다. –

+0

나는 이것이 비슷한 질문이라고 생각한다. http://stackoverflow.com/questions/5363958/hook-up-command-for-backkeypress-in-xaml –

0

사용이와 당신의 ViewModel에 OnGoBack ($있는 EventArgs)을 생성

public void OnGoBack(CancelEventArgs eventArgs) 
{ 
    if (MessageBox.Show("Are you sure?", "Exit App", MessageBoxButton.OKCancel) == MessageBoxResult.Cancel) 
     { 
      e.Cancel = true; 
     } 
}