¿Compilar el tiempo de verificación de los enlaces?

Soy moderadamente nuevo en MVVM y entiendo algunos de los beneficios de MVVM sobre el código simple detrás de xaml (por ejemplo, la capacidad de prueba de la máquina virtual). Estamos utilizando Caliburn Micro para realizar algunos de los enlaces, pero eso es algo irrelevante, podría estar usando enlaces específicos {enlace ...} y mi pregunta sería más o menos igual.

Entiendo la lógica de que la VM no debe saber nada de la V si todo se hace correctamente, pero parece que debido a que estamos utilizando el enlace dinámico de tiempo de ejecución entre la V y la VM, el compilador no puede verificar la legalidad de cada enlace. expresión. Por ejemplo, si tengo un componente de UI llamado UserName, Caliburn intentará enlazarlo a una propiedad de VM llamada UserName en tiempo de ejecución (similar a hacer algo como Value = "{binding UserName}"). Sin embargo, si cambio el nombre de mi propiedad de VM o escribo incorrectamente el nombre del componente UI o la expresión de enlace, no obtendremos ninguna indicación de un problema hasta el tiempo de ejecución.

Me parece que sería muy bueno poder decirle al xaml que un componente o una interfaz de usuario se enlazará a una interfaz específica para que el compilador pueda realizar parte del trabajo que, de lo contrario, tendría que hacerse ( y rehecho por el departamento de pruebas (y ese soy yo bastante a menudo).

¿Hay alguna manera de decirle a xaml que estamos vinculando a una interfaz o tipo de objeto? ¿Existe alguna herramienta que se pueda conectar a una aplicación xaml para validar los enlaces?

Respuestas a la pregunta(4)

Su respuesta a la pregunta