Категория - Привязка данных

Data Binding

Введение

Привязка данных обеспечивает простой способ получения данных в пользовательском интерфейсе приложения без необходимости задавать свойства для каждого элемента управления каждый раз при изменении значения.
Читать далее

Контекст данных

Свойство Control.DataContext описывает, где элементы управления будут искать значения по умолчанию при привязке. Контекст данных обычно устанавливается для элементов управления верхнего уровня, таких как Window, и дочерние элементы управления наследуют этот контекст данных. При использовании шаблона MVVM контекст данных обычно будет экземпляром модели представления.
Читать далее

Уведомления об изменениях

Чтобы Avalonia знала, когда свойство в модели представления изменилось, в модели представления должны быть реализованы уведомления об изменениях. Самый простой способ сделать это — использовать ReactiveUI и сделать класс модели представления унаследованным от ReactiveObject
Читать далее

Привязки

Вы выполняете привязку в XAML, используя расширение разметки {Binding}. При использовании привязок (при условии, что вы реализовали уведомления об изменениях) любые изменения контекста данных будут автоматически обновляться в элементе управления. По умолчанию привязка назначается свойству в DataContext
Читать далее

Скомпилированные привязки

Привязки, определенные в XAML, используют рефлексию, чтобы найти и получить доступ к запрошенному свойству в вашей ViewModel. В Avalonia вы также можете использовать скомпилированные привязки, что имеет некоторые преимущества
Читать далее

Преобразование значений привязки

Часто вам будет нужно отменить значение, к которому вы привязываетесь. Часто это используется для отображения/скрытия элемента управления или его включения/отключения. Вы можете инвертировать значение привязки, добавив перед ним оператор "bang": !
Читать далее

Привязка к командам

Элементы управления, выполняющие действие, например Button, имеют свойство Command, которое можно привязать к ICommand. При активации элемента управления (например, при нажатии кнопки) будет вызван метод ICommand.Execute.
Читать далее

Привязка из кода

Привязка из кода в Avalonia работает несколько иначе, чем в WPF/UWP. На низком уровне система привязки Avalonia основана на IObservable от Reactive Extensions, который затем строится на привязках XAML (которые также могут быть реализованы в коде).
Читать далее