Xamarin xaml结合

时间:2018-05-07 14:52:41

标签: xaml xamarin

我正在尝试将我的xaml绑定到我的视图模型中的属性,但它并不像我预期的那样工作。

以下代码有效,但它似乎创建了一个新的mainwindowviewmodel对象实例,这将导致问题。

<Label Text="{Binding Path=Test}" >
    <Label.BindingContext>
        <local:MainWindowViewModel />
    </Label.BindingContext>
</Label>

以下内容根本不起作用。

<Label Text="{Binding Path=Test}" >
</Label>

我在视图模型中测试了属性。

我做错了什么?

1 个答案:

答案 0 :(得分:1)

确保将查看BindingContext设置为模型的实例(MainWindowViewModel),以使第二个代码段有效。

例如在视图后面的代码的构造函数中

public MainWindow() {
    InitializeComponents();
    var viewModel = new MainWindowViewModel();
    this.BindingContext = viewModel;
}

或直接在视图中

<MainWindow.BindingContext>
    <local:MainWindowViewModel />
</MainWindow.BindingContext>

以上两者在技术上是等同的。