向ViewModel添加UnhandledException支持

时间:2013-03-06 16:36:36

标签: wpf

好的 - 所以我有一个传统的MC ++应用程序,它可以调用WPF视图,就像它们是对话框一样。我有一个抽象的ViewModel父类。有没有办法可以将UnhandledException处理添加到我的ViewModel中,以便在传播到MC ++应用程序之前,可以在那里处理ViewModel或它的子实现中抛出的任何异常?

我真的没有可以使用的架构框架。到目前为止实现的所有ViewModel和Views都是一次性的:(

2 个答案:

答案 0 :(得分:0)

您应该能够在打开的方法中添加异常处理,并将View显示为对话框(即:包裹Window.ShowDialog()调用)。这应该捕获从View或ViewModel中抛出的任何异常,因为它们都是从那一点“启动”的。

答案 1 :(得分:0)

如果您有权访问Dispatcher,则可以绑定Dispatcher.UnhandledException事件,否则您可以加入AppDomain.UnhandledException事件:

Dispatcher.CurrentDispatcher.UnhandledException += HandleDispatcherException;
someDispatcher.UnhandledException += HandleDispatcherException;
AppDomain.CurrentDomain.UnhandledException += HandleAppDomainException;