我对 MVVM 比较陌生,并且我了解 MVVM 相对于 xaml 背后的简单代码的一些好处(例如 VM 的可测试性)。我们正在使用 Caliburn Micro 来执行一些绑定,但这有点无关紧要,我可以使用特定绑定 {binding ...} 我的问题或多或少保持不变。
我理解如果一切都正确完成,VM应该对V一无所知的逻辑,但似乎因为我们在V和VM之间使用动态运行时绑定,编译器无法检查每个绑定的合法性表达。例如,如果我有一个名为 UserName 的 UI 组件,则 Caliburn 将尝试在运行时将其绑定到名为 UserName 的 VM 属性(类似于执行 Value="{binding UserName}" 之类的操作)。但是,如果我重命名我的 VM 属性或拼错 UI 组件名称或绑定表达式,我们直到运行时才得到问题的指示。
在我看来,能够告诉 xaml 一个 UI 组件或页面将绑定到一个特定的界面,这样编译器就可以完成一些原本必须完成的工作,这将是非常好的(并重做)由测试部门(我经常这样做)。
有没有办法告诉 xaml 我们正在绑定到接口或对象类型?是否有一些工具可以插入 xaml 应用程序来验证绑定?