Привязка данных обеспечивает простой способ получения данных в пользовательском интерфейсе приложения без необходимости задавать свойства для каждого элемента управления каждый раз при изменении значения.
Читать далее
Свойство Control.DataContext описывает, где элементы управления будут искать значения по умолчанию при привязке. Контекст данных обычно устанавливается для элементов управления верхнего уровня, таких как Window, и дочерние элементы управления наследуют этот контекст данных.
При использовании шаблона MVVM контекст данных обычно будет экземпляром модели представления.
Читать далее
Чтобы Avalonia знала, когда свойство в модели представления изменилось, в модели представления должны быть реализованы уведомления об изменениях. Самый простой способ сделать это — использовать ReactiveUI и сделать класс модели представления унаследованным от ReactiveObject
Читать далее
Вы выполняете привязку в XAML, используя расширение разметки {Binding}. При использовании привязок (при условии, что вы реализовали уведомления об изменениях) любые изменения контекста данных будут автоматически обновляться в элементе управления.
По умолчанию привязка назначается свойству в DataContext
Читать далее
Привязки, определенные в XAML, используют рефлексию, чтобы найти и получить доступ к запрошенному свойству в вашей ViewModel. В Avalonia вы также можете использовать скомпилированные привязки, что имеет некоторые преимущества
Читать далее
Помимо привязки к DataContext элемента управления, вы также можете привязываться к другим элементам управления.
Читать далее
Часто вам будет нужно отменить значение, к которому вы привязываетесь. Часто это используется для отображения/скрытия элемента управления или его включения/отключения. Вы можете инвертировать значение привязки, добавив перед ним оператор "bang": !
Читать далее
Элементы управления, выполняющие действие, например Button, имеют свойство Command, которое можно привязать к ICommand. При активации элемента управления (например, при нажатии кнопки) будет вызван метод ICommand.Execute.
Читать далее
Вы можете подписаться на результат задачи или наблюдаемый объект с помощью оператора привязки потока ^.
Читать далее
Привязка из кода в Avalonia работает несколько иначе, чем в WPF/UWP. На низком уровне система привязки Avalonia основана на IObservable от Reactive Extensions, который затем строится на привязках XAML (которые также могут быть реализованы в коде).
Читать далее