0

我有一个复杂的应用程序,它由一个应用程序组成,其中包含许多模块,每个模块都包含许多视图。我的观点的行为可能会引发异常。

有时我想在创建它们的视图上处理异常,有时在父模块中,有时在祖父应用程序中。

RoutedEvents 的概念似乎是解决这个问题的一种明智方式,但我不完全确定如何解决这个问题。

有没有人可以分享任何示例或链接来证明我正在努力实现的目标?

谢谢马克

4

2 回答 2

2

尽管 Silverlight 包含 RoutedEventHandler 和 RoutedEventArgs,但遗憾的是桌面 WPF 框架中看到的“路由事件”的概念并不相同。

今天保留它是为了源代码和 API 的兼容性,将来可能会支持它。

这意味着,与此同时,您可以做一些额外的工作,但仍然可以通过

  • 在应用程序级别,连接您自己的未处理异常处理程序代码,可能创建并命名类型“AdvancedExceptionManager”或其他类型,并在此基础上设计一个简单的 API 以允许事物订阅和处理任何异常并将其冒泡。
  • 在模块级别,使用全局/单例未处理的异常处理程序代码,订阅和取消订阅以“处理”全局异常,并取消进一步的处理,例如。

如果您需要有关如何处理此问题的更多信息,请告诉我。这将有助于了解您的“模块”是如何构建或设计的。

于 2009-08-06T17:29:02.373 回答
1

这对您来说可能很有趣:

“Silverlight 3 的 RoutedEvents 实现,包括 WPF 兼容性” http://sl3routedevents.codeplex.com/

于 2009-10-23T15:44:57.450 回答