窗口内的用户控件抛出的WPF Catch异常

时间:2013-02-14 16:07:41

标签: wpf exception-handling event-handling wpf-controls

我在WPF窗口对话框中有几个自定义用户控件,可能会抛出异常。我想要做的是当其中一个用户控件抛出异常时,仅清除该窗口对话框。但是,这些控件处理它们自己的click事件,所以我找不到任何地方将它们从窗口本身包装到try-catch中。

我能想到的唯一可能的解决方法是在我的用户控件中实现事件SomethingWentWrong,并在我的WPF窗口中订阅它。然而,在我看来,这似乎是一种非常丑陋的做事方式。

还有更好的选择吗?

1 个答案:

答案 0 :(得分:1)

没有全局方法可以在单个Window内轻松捕获异常。

您可以订阅Application.DispatcherUnhandledException,这将为您提供一种方法来捕获Dispatcher上发生的异常。这将处理大多数典型的用户界面“事件”,但是在应用程序范围内。