none
在第三个页面按返回键怎么直接退出程序了?(附代码) RRS feed

  • 问题

  • 在第二个页面中:

            protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e)
            {
                NoteListBox.ItemsSource = Text.FileNames;
                base.OnNavigatedTo(e);
            }
    其中 NoteListBox.ItemsSource = Text.FileNames;是ListBox中Link控件的Content属性绑定到Text类的静态属性FileNames(List<string>类型)。FileNames属性会在第三个页面中的删除操作而从List中删除;
    在第三个页面中:
                            Text.FileNames.Remove(title);
                            if (NavigationService.CanGoBack)
                                //NavigationService.Navigate(new Uri("/ListPage.xaml",UriKind.Relative));
                                NavigationService.GoBack();
    我想实现的是当调用 NavigationService.GoBack();时返回第二个页面,并会发现被删除的那个title已经不存在了。但问题是当调用 NavigationService.GoBack();时,先执行了第二个页面的OnNavigatedTo()方法。执行完后就直接退出了,在Application_Closing设置断点,也没见调用~~
    另外,当不调用第三个页面的Text.FileNames.Remove(title); 即不删除List中的内容,返回时正常。
    2011年12月11日 5:38

答案

全部回复

  • 不设置断点时,引发的是:

           private void Application_UnhandledException(object sender, ApplicationUnhandledExceptionEventArgs e)
            {
                if (System.Diagnostics.Debugger.IsAttached)
                {
                    // 發生未處理的例外狀況; 切換到偵錯工具
                    System.Diagnostics.Debugger.Break();
                }
            }

    2011年12月11日 5:41
  • 这是因为你的页面有错误,出发了异常,因此程序崩溃直接退出程序了
    2011年12月11日 9:20
    版主