数据上下文
Control.DataContext
属性描述了使用绑定时控件默认从何处取值。数据上下文通常在Window
这样的顶级控件中赋值,它的子控件会自动继承数据上下文。
当使用MVVM模式时,数据上下文通常都是视图模型的实例。
如果你使用 Avalonia MVVM Application 模板创建应用,那么你将在 Program.cs
文件中看到如下代码:
这段代码表明,当MainWindow
创建时,一个新的MainWindowViewModel
实例将会被创建出来,并赋值给窗体的DataContext
属性。所有绑定都会默认绑定到这个实例的属性上。
将会把Button
的Content
属性绑定到Window.DataContext.ButtonCaption
上。
绑定数据上下文
绑定DataContext
时, 绑定的源是父级控件的DataContext
:
使用数据模板显示内容的控件会自动将控件的DataContext
赋值给模板内部的控件。例如对于ContentControl
:
最后更新于