DataContext and Caliburn

3

据我了解,当使用Caliburn.Micro进行绑定时,甚至不需要在XAML中显式地初始化DataContext,以使绑定正常工作。

但是如果我不这样做,那么标准解析器会说绑定无效,因为我们不能在所有情况下都依赖于约定。

如何使用View-Model优先方法和Caliburn.Micro正确设置DataContext

1个回答

3
Caliburn.Micro会根据惯例自动创建视图-模型并将其设置为视图的DataContext。例如,如果您有一个名为MainViewModel的视图-模型和一个名为MainView的视图,则Caliburn.Micro将自动创建MainViewModel,然后创建MainView,并将MainViewModel设置为MainViewDataContext。因此,即使您使用不依赖惯例的绑定,它们也仍然有效,因为Caliburn.Micro会自动设置DataContext。您可以在Caliburn.Micro文档中了解更多信息。

同Sniffer所说,这是Caliburn.Micro基础的一部分,我鼓励你花时间阅读文档和示例 :-) - Oscar Mateu
谢谢,但正如我所说,如果我们不明确设置DataContext,则标准的Visual Studios xaml解析器将会报告无法解析绑定,这非常令人恼火。 - EngineerSpock
此外,设计时数据绑定怎么办?在这种情况下,我们能否不在视图的xaml中显式声明DataContext? - EngineerSpock
1
@EngineerSpock 如果你在谈论设计时 Visual Studio 的警告或设计时支持,Caliburn.Micro 支持这两种情况,请查看文档并点击此处获取设计时支持的链接。 - Ibrahim Najjar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接