Pongo Lo sé con certeza, pero sospecho que es porque no hay ningún lugar para manejar la excepción.
Supongamos que tiene algo cuyas propiedades desea vincular, pero a veces ese algo es nulo. (Por ejemplo, {Binding Name.Length}
, donde Nombre es una propiedad de cadena que podría ser nula.) En este caso, está contento de que esto no sea operativo, porque sabe que el control nunca se mostrará cuando el Nombre sea nulo (debido a un desencadenante decir) o porque usted sabe que esto será una condición transitoria mientras la fuente de enlace está cargando sus datos.
Supongamos ahora que WPF propagó NullReferenceException al intentar llamar a Length en la cadena de nombre nulo. En el código de procedimiento, captas esta excepción y la tragas porque sabías que era benigna. Pero no puede colocar un controlador de excepción alrededor del código de enlace de WPF. Se llama desde algún lugar dentro de WPF. Así que la excepción se extendería hasta Application.Run, que no es un lugar muy útil para atraparla.
Así que en lugar de obligarlo a centralizar sus controladores de excepciones vinculantes en Application.Run, creo que los chicos de WPF decidieron tragarse las excepciones. Sólo una teoría ...
Dupe: http://stackoverflow.com/questions/978887/why- does-wpf-databinding-swallow-exceptions –
No es una tontería. Esta pregunta se trata de por qué, la pregunta vinculada es sobre qué hacer al respecto. –
La primera respuesta en la pregunta vinculada explica qué hacer al respecto. Fuente de seguimiento personalizada ftw. –