0

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

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

有没有更好的选择?

4

1 回答 1

1

没有全局方法可以轻松地在单个Window.

您可以潜在地订阅Application.DispatcherUnhandledException,这将为您提供一种捕获发生在Dispatcher. 这将处理最典型的用户界面“事件”,但在应用程序范围内。

于 2013-02-14T16:10:22.400 回答