Xamarin XAML связывание - PullRequest
       8

Xamarin XAML связывание

0 голосов
/ 07 мая 2018

Я пытаюсь привязать свой xaml к свойству в моей модели представления, но это не работает так, как я ожидал.

Следующий код работает, но создается впечатление, что он создает новый экземпляр объекта mainwindowviewmodel, что приведет к проблеме.

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

Следующее не работает вообще.

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

У меня есть свойство Test в моей модели представления.

Что я делаю не так?

1 Ответ

0 голосов
/ 07 мая 2018

Обязательно установите BindingContext View для экземпляра модели (MainWindowViewModel), чтобы заставить работать второй фрагмент кода.

Например, в конструкторе кода представления за

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

Или непосредственно в представлении

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

Оба вышеперечисленных являются технически эквивалентными.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...