Silverlight RoutedСобытия и исключения - PullRequest
0 голосов
/ 02 апреля 2009

У меня есть сложное приложение, которое состоит из Приложения , содержащего множество модулей , каждое из которых содержит множество просмотров . Поведение моих взглядов может вызывать исключения.

Иногда я хочу обработать исключения в представлении , которое их создало, иногда в родительском модуле , иногда в приложении-прародителе .

Концепция RoutedEvents кажется разумным способом решения этой проблемы, но я не совсем уверен, как это сделать.

Есть ли у кого-нибудь примеры или ссылки, которыми они могут поделиться, которые демонстрируют то, что я пытаюсь достичь?

Спасибо Mark

Ответы [ 2 ]

2 голосов
/ 06 августа 2009

Несмотря на то, что Silverlight содержит RoutedEventHandler и RoutedEventArgs, к сожалению, концепция «перенаправленных событий», как видно из инфраструктуры WPF для настольных компьютеров, не одинакова.

Сегодня он сохранен для совместимости с исходным кодом и API, и в будущем, возможно, он будет поддерживаться.

Это означает, что тем временем вы можете выполнить небольшую дополнительную работу и все же выполнить ее с помощью

  • на уровне приложения, подключив свой собственный необработанный код обработчика исключений, возможно, создайте и назовите тип «AdvancedExceptionManager» или что-то еще, и разработайте простой API поверх этого, чтобы позволить вещам подписываться и обрабатывать любые исключения и пузырить их до.
  • на уровне модуля, работающего с кодом обработчика глобальных / Singleton необработанных исключений, подписаться и отписаться, например, для «обработки» глобальных исключений и отмены дальнейшей обработки.

Дайте мне знать, если вам нужна дополнительная информация о том, как это сделать. Это помогло бы узнать, как сконструированы или спроектированы ваши «модули».

1 голос
/ 23 октября 2009

Это может быть интересно для вас:

«Реализация RoutedEvents для Silverlight 3, включая совместимость с WPF» http://sl3routedevents.codeplex.com/

...