Estoy buscando un método de captura de excepciones por parte de get getters (y setters) de propiedades databound, pero eso es posible sin demasiada dificultad.WPF Databinding: capturas de excepciones lanzadas por getters de propiedad
Ninguno de estos eventos se pondrá al día excepciones lanzadas por captadores:
AppDomain.CurrentDomain.UnhandledException
Application.Current.DispatcherUnhandledException
Application.Current.Dispatcher.UnhandledException
Otra idea es utilizar una clase personalizada de unión con un UpdateSourceExceptionFilter como se describe en this thread. Lamentablemente, este método solo capta excepciones en los generadores de propiedades, no en los getters.
La última opción que he visto es utilizar un rastro PresentationTraceSources oyente:
PresentationTraceSources.Refresh();
PresentationTraceSources.DataBindingSource.Listeners.Add(new PresentationLoggingTraceListener());
PresentationTraceSources.DataBindingSource.Switch.Level = SourceLevels.Error;
Este método sí parece hacer básicamente lo que quiero. Desafortunadamente, solo me da una cadena, no una excepción, lo que significa que tendría que hacer un poco de análisis para llegar al error real.
El método TraceListener probablemente funcione al final, pero parece un poco hackish. ¿Hay alguna otra opción que me falta, o estoy bastante atrapado con el TraceListener?
Me gustaría ver una respuesta para este –