Относительная привязка (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.
Ресурсы и стили. Стили в WPF
Стили в WPF позволяют отделить визуальное оформление элемента управления от его основного кода и представляют собой набор свойств и их значений, которые могут применяться к элементам управления. Как и ресурсы, стили определяются в словаре ResourceDictionary, однако, в отличие от ресурсов для их определения используются специальные объекту Style. В этой части мы рассмотрим применение стилей в WPF.
Ресурсы и стили. Подключение внешних ресурсов
Часто ресурсы приложения выносят в отдельные файлы, что позволяет не захламлять исходный код приложения. В WPF мы также можем выносить ресурсы во внешние файлы и подключать их в своих приложениях, а также объединять несколько словарей ресурсов. В этой части мы рассмотрим Подключение внешних ресурсов в WPF.
Ресурсы и стили. Ресурсы в WPF
Под термином «Ресурсы» в WPF может пониматься практически всё, что используется в нашем приложении — картинки, статические файлы, строки и так далее. Здесь, под ресурсами мы будем рассматривать логические ресурсы, то есть такие ресурсы, которые мы можем определить внутри приложения и использовать их в нескольких элементах приложение, например, это могут быть ракие ресурсы, как строки, значения цветов, объекты .NET и так далее.
Элементы управления в WPF. Image и InkCanvas — работа с изображениями
Для загрузки изображений в приложениях WPF используется элемент Image. Сегодня мы рассмотрим работу с этим элементом управления, а также, дополнительно, рассмотрим работу с ещё одним элементом управления, который может использоваться для создания изображений — InkCanvas.