Kompilierzeitprüfung von Bindungen?

Ich bin ein wenig neu in MVVM und verstehe einige der Vorteile von MVVM gegenüber einfachem Code hinter xaml (zum Beispiel die Testbarkeit der VM). Wir verwenden Caliburn Micro, um einige der Bindungen durchzuführen, aber das ist irgendwie irrelevant. Ich könnte spezifische Bindungen verwenden, und meine Frage würde mehr oder weniger gleich bleiben.

Ich verstehe die Logik, dass die VM nichts von dem V wissen sollte, wenn alles richtig gemacht wurde, aber es scheint, dass der Compiler keine Überprüfung der Rechtmäßigkeit jeder Bindung vornehmen kann, da wir eine dynamische Laufzeitbindung zwischen dem V und der VM verwenden Ausdruck. Wenn ich zum Beispiel eine UI-Komponente namens UserName habe, versucht Caliburn, diese zur Laufzeit an eine VM-Eigenschaft namens UserName zu binden (ähnlich wie Value = "{binding UserName}"). Wenn ich jedoch meine VM-Eigenschaft umbenenne oder den Namen der Benutzeroberflächenkomponente oder den Bindungsausdruck falsch schreibe, wird erst zur Laufzeit ein Problem angezeigt.

Es scheint mir wirklich schön zu sein, der XAML mitteilen zu können, dass eine UI-Komponente oder -Seite an eine bestimmte Schnittstelle gebunden sein wird, damit der Compiler einen Teil der Arbeit erledigen kann, die sonst erledigt werden muss ( und nochmals gemacht) von der Testabteilung (und das bin ich ziemlich oft).

Gibt es eine Möglichkeit, xaml mitzuteilen, dass wir an eine Schnittstelle oder einen Objekttyp binden? Gibt es ein Tool, das sich in eine XAML-Anwendung einbinden lässt, um Bindungen zu validieren?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage