Caliburn微停止应用程序退出



我在Windows Phone 8应用程序中使用Caliburn Micro,我想在用户退出应用程序之前按下后退按钮时提示用户。是的,我这样做有一个很好的理由!

我尝试了这段代码,但它在应用程序退出后被调用。

    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;
            }           
        }
    }

任何想法?

我认为你使用了一个错误的事件,我的建议是:

 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;
                 }     
            }            
    }

在你的视图中使用

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

和创建OnGoBack($eventArgs)在你的ViewModel

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

相关内容

  • 没有找到相关文章

最新更新