WPF:捕获导航错误
来源:互联网 发布:关明生为什么离职知乎 编辑:程序博客网 时间:2024/05/17 20:08
WPF:在XBAP中捕获导航错误
(原文地址: http://www.cnblogs.com/mgen/archive/2012/01/13/2321728.html)解决方案就是使用Application.DispatcherUnhandledException事件,这个事件可以侦听当前应用程序UI线程所有未处理异常,并可以将异常标记为处理从而使应用程序防止崩溃。记住同NavigationFailed事件一样,把Handled属性标记为true。
private void Application_DispatcherUnhandledException(object sender, System.Windows.Threading.DispatcherUnhandledExceptionEventArgs e)
{
MessageBox.Show(e.Exception.Message);
e.Handled = true;
}
原文如下:
在普通WPF程序中本来是可以通过NavigationFailed事件的。(可以通过Application类,NavigationWindow类,NavigationService类,Frame类。它们都有NavigationService事件)。可以在XBAP中,这招貌似不能用。
比如随便弄了非法导航链接:
<Hyperlink NavigateUri="httppppp://www.a.com">link</Hyperlink>
然后加上Application.NavigationFailed事件:
protected override void OnNavigationFailed(NavigationFailedEventArgs e)
{
base.OnNavigationFailed(e);
MessageBox.Show(e.Exception.Message);
e.Handled= true;
}
运行后点击链接,结果还是错误(IE8):
解决方案就是使用Application.DispatcherUnhandledException事件,这个事件可以侦听当前应用程序UI线程所有未处理异常,并可以将异常标记为处理从而使应用程序防止崩溃。记住同NavigationFailed事件一样,把Handled属性标记为true。
private void Application_DispatcherUnhandledException(object sender, System.Windows.Threading.DispatcherUnhandledExceptionEventArgs e)
{
MessageBox.Show(e.Exception.Message);
e.Handled= true;
}
- WPF:捕获导航错误
- WPF捕获异常方法
- WPF 捕获键盘输入
- WPF全局异常捕获
- WPF的页面导航
- wpf页面和导航
- WPF 捕获ListBoxItem 点击事件
- WPF捕获未处理的异常
- 捕获CONN错误
- 捕获参数错误异常
- struts2 捕获404错误
- 线程中捕获错误
- VS2008_C++捕获内存错误
- try捕获JS错误
- JQuery AJAX错误捕获
- JavaScript 捕获错误
- mvc中捕获错误
- Android UncaughtExceptionHandler,捕获错误
- ios之Label的创办
- 文件编码与BOM浅析
- struts2 一个简单的 struts2程序(HelloWorld)
- SQL还原数据库后孤立用户问题处理 还原数据库 用户不可用
- Android XML文件使用
- WPF:捕获导航错误
- base64编码是怎么工作的?
- CityEngine开发竞赛-作品常见问题分析及解答
- iOS开发之缓存(一):内存缓存
- android service生命周期
- 内部类总结
- OracleOraHome90Agent
- struts2中从页面取值的三种方式
- JSON对象存在换行符