如何在wpf中抑制UI异常?

时间:2012-04-10 06:37:40

标签: c# wpf user-interface exception-handling

我正在创建设计器,用户可以将控件拖到表面。 工具栏中的某些控件可能包含损坏的逻辑并生成异常。 当用户将损坏的项目拖到表面时,我有未处理的异常。

我想抑制此UI异常并显示混合或visual studio等消息:

workArea.Dispatcher.UnhandledException += MainContainerDispatcherUnhandledException

我可以像这样缓存此异常:

protected void MainContainerDispatcherUnhandledException(object sender, System.Windows.Threading.DispatcherUnhandledExceptionEventArgs e)
        {

        }

我该怎么做才能压制这条消息?从UI中删除所有控件并显示标签?或者我可以设置一些属性,以便WPF忽略这些异常?对此有何评论?

感谢。

2 个答案:

答案 0 :(得分:1)

您可以使用AppDomain.UnhandledException,如果您收到它,请确定实现该控制的控件,

  • 或向用户显示用户友好的消息
  • 或显示一些红色表面(或多或少像VS一样)
  • 或使用带有animaniton的Adorner(很酷,但更多是为了编程)

希望这有帮助。

答案 1 :(得分:1)