zoukankan      html  css  js  c++  java
  • Windows Phone 7 UI 异常处理

    慢慢开始 Windows Phone 7 编程的学习,工作是比较忙与累,但是还是想学习一下 Windows Phone 7 编程和 Windows 8 编程。

    计划:一步步来吧,先培训兴趣,再回过头来好好看看 C# 语言。

    今天先看了一下 UI 的异常处理的实现:新建一 Silverlight for Windows Phone 7/Windows Phone Application 工程。
    在工程中增加一个页面,例如: Page1.xaml,然后在页面中增加一个文本框。示例代码如下:

     1 namespace WindowsPhoneApplicationHello  
     2 {  
     3     public partial class Page1 : PhoneApplicationPage  
     4     {  
     5         public static Exception ExceptionInfo;  
     6   
     7         public Page1()  
     8         {  
     9             InitializeComponent();  
    10         }  
    11           
    12         protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e)  
    13         {  
    14             ExceptionText.Text = ExceptionInfo.ToString();  
    15         }  
    16     }  
    17 }  

    在源文件 App.xaml.cs 中,自动生成的代码中有两个用于处理错误和异常的函数,分别是:
    (1) RootFrame_NavigationFai

     1 private void RootFrame_NavigationFailed(object sender, NavigationFailedEventArgs e)  
     2 {  
     3      if (System.Diagnostics.Debugger.IsAttached)  
     4      {  
     5           // A navigation has failed; break into the debugger  
     6           System.Diagnostics.Debugger.Break();  
     7       }  
     8       e.Handled = true;  
     9       Page1.ExceptionInfo = e.Exception;  
    10       (RootVisual as Microsoft.Phone.Controls.PhoneApplicationFrame).Source = new Uri("/Page1.xaml", UriKind.Relative);  
    11 }  

    led: 处理导航失败
    (2) Application_UnhandledException: 处理应用程序所有未处理的
    修改 RootFrame_NavigationFailed 函数,增加两行代码。修改后的代码如下:

    为了测试代码,故意抛出一个异常。增加一个按键,在按键的处理中加入以下的代码:

    1 private void button2_Click(object sender, RoutedEventArgs e)  
    2 {  
    3      NavigationService.Navigate(new Uri("NoExist.html",UriKind.Relative));  
    4 }  

    运行结果:当用户点击按键后,在 Page1 页面显示出 error 信息。
    但此信息对一般用于来说,是不友好的,需要进一步的处理才能满足真正产品的求。

  • 相关阅读:
    Vue(小案例_vue+axios仿手机app)_go实现退回上一个路由
    nyoj 635 Oh, my goddess
    nyoj 587 blockhouses
    nyoj 483 Nightmare
    nyoj 592 spiral grid
    nyoj 927 The partial sum problem
    nyoj 523 亡命逃窜
    nyoj 929 密码宝盒
    nyoj 999 师傅又被妖怪抓走了
    nyoj 293 Sticks
  • 原文地址:https://www.cnblogs.com/91program/p/5206274.html
Copyright © 2011-2022 走看看