Относительная привязка (relative binding) позволяет задавать источник привязки относительно положения целевого объекта в визуальном дереве элементов. Относительные привязки задаются с использованием расширения разметки RelativeSource. Мы уже использовали относительную привязку в WPF, когда разбирались со свойствами зависимостей. В этой части мы рассмотрим относительную привязку в WPF более детально.
Привязка в WPF
Привязка в WPF. Свойства и параметры конвертеров значений
Конвертеры значений в WPF, как и обычные классы C#, могут содержать свойства, значения которых могут присваиваться непосредственно в коде XAML. Кроме этого, в конвертер могут передаваться дополнительные параметры, позволяющие каким-либо образом влиять на ход конвертации. В этой части мы рассмотрим свойства и параметры конвертеров значений в WPF.
Привязка в WPF. Форматирование строк и конвертеры значений
Не всегда бывает удобным (а иногда и возможным) отображать в элементе управления или передавать в свойство целевого объекта текущее значение свойства источника привязки. Например, нам может потребоваться каким-либо образом форматировать строку со значением из источника прежде, чем вывести её в тексте метки. Или привязываемые свойства вообще не совпадают по типу — одно свойство имеет тип Double, а второе, скажем Color и нам необходимо «вытащить» из Color, скажем, только значение яркости, только значение красного и так далее. В этом случае мы можем использовать при привязке данных форматирование строк или написать свой конвертер значений и применить его в привязке.
Привязка в WPF. Привязка к произвольным объектам (интерфейс INotifyPropertyChanged)
Для того, чтобы привязка данных работала в WPF главным условием является то, что цель привязки обязательно должна наследоваться от DependencyObject (иначе мы не сможем считывать и записывать значение в свойство зависимостей), а целевым свойством должно выступать свойство зависимостей (DependencyProperty). При этом, в качестве источника привязки может выступать кто угодно, но для того, чтобы источник привязки мог сообщать об изменении своих свойств, он должен реализовать интерфейс INotifyPropertyChanged.
Привязка в WPF. Свойства Binding, режимы привязки
Из предыдущей части мы узнали в общих чертах, что из себя представляет привязка в WPF. Теперь мы более подробно разберемся с тем как работает привязка в WPF, какие параметры мы можем использовать в выражениях привязки и изучим режимы привязки в WPF. Привязка данных в WPF осуществляется с использованием объектов типа Binding на свойствах которого мы сегодня и остановимся. Свойства Binding в коде XAML выступают в качестве параметров выражения и одним из важнейших свойств этого типа является свойство отвечающее за режимы привязки.
Привязка в WPF. Свойства зависимостей (Dependency Property)
Привязка в WPF — это механизм предоставления данных и взаимодействия с ними в приложении. Без использования привязки сегодня не обходится ни одно сколько-нибудь серьезное приложение WPF, поэтому здесь мы рассмотрим основные моменты работы привязки в WPF и научимся использовать её в наших приложениях. Прежде всего, стоит разобраться с основами привязки и тем, как она организуется в приложениях WPF.