Compile a verificação de tempo das ligações?

Sou moderadamente novo no MVVM e entendo alguns dos benefícios do MVVM em relação ao código simples por trás do xaml (por exemplo, capacidade de teste da VM). Estamos usando o Caliburn Micro para realizar algumas das ligações, mas isso é meio que irrelevante, eu poderia estar usando ligação específica {binding ...} e minha pergunta seria mais ou menos a mesma.

Eu entendo a lógica que a VM deve saber nada do V se tudo for feito corretamente, mas parece que porque estamos usando vinculação de tempo de execução dinâmica entre o V e a VM que o compilador não pode fazer verificações sobre a legalidade de cada ligação expressão. Por exemplo, se eu tiver um componente de UI chamado UserName, o Caliburn tentará vinculá-lo a uma propriedade de VM chamada UserName em tempo de execução (semelhante a fazer algo como Value = "{binding UserName}"). No entanto, se eu renomear minha propriedade de VM ou digitar errado o nome do componente de UI ou a expressão de ligação, não obteremos indicação de um problema até o tempo de execução.

Parece-me que seria muito bom poder dizer ao xaml que um componente ou uma página da interface do usuário será vinculado a uma interface específica para que o compilador possa executar alguns dos trabalhos que, caso contrário, teriam que ser executados ( e refeito) pelo departamento de teste (e esse sou eu com bastante frequência).

Existe uma maneira de dizer ao xaml que estamos vinculando a uma interface ou tipo de objeto? Existe alguma ferramenta que pode se conectar a um aplicativo xaml para validar as ligações?

questionAnswers(4)

yourAnswerToTheQuestion