我正在尝试将我的xaml绑定到我的视图模型中的属性,但它并不像我预期的那样工作。
以下代码有效,但它似乎创建了一个新的mainwindowviewmodel对象实例,这将导致问题。
<Label Text="{Binding Path=Test}" >
<Label.BindingContext>
<local:MainWindowViewModel />
</Label.BindingContext>
</Label>
以下内容根本不起作用。
<Label Text="{Binding Path=Test}" >
</Label>
我在视图模型中测试了属性。
我做错了什么?
答案 0 :(得分:1)
确保将查看的BindingContext
设置为模型的实例(MainWindowViewModel)
,以使第二个代码段有效。
例如在视图后面的代码的构造函数中
public MainWindow() {
InitializeComponents();
var viewModel = new MainWindowViewModel();
this.BindingContext = viewModel;
}
或直接在视图中
<MainWindow.BindingContext>
<local:MainWindowViewModel />
</MainWindow.BindingContext>
以上两者在技术上是等同的。