Шаблон элемента управления Элементы управления WPF спроектированы таким образом, чтобы полностью отделить функциональность элемента от его визуального оформления Чтобы по новому оформить пользовательский интерфейс элемента WPF, нужно создать новый шаблон элемента
Слайд 1 Программирование на C# 4 и .NET 4 Лекция 15. WPF
Слайд 2Шаблон элемента управления Элементы управления WPF спроектированы таким образом, чтобы полностью отделить
функциональность элемента от его визуального оформления Чтобы по новому оформить пользовательский интерфейс элемента WPF, нужно создать новый шаблон элемента управления Шаблон элемента – XAML, описывающий оформление элемента управления Шаблон элемента управления определяется в элементе
Слайд 3ControlTemplate Для отображения содержимого элемента управления в шаблоне элемента управления используются элементы
для элементов управления содержимым (для отображения свойства Content) для элементов элементами (для отображения свойства Items) Для правильной работы <…Presenter> необходимо указать атрибут TargetType у ControlTemplate HorizontalAlignment="Center"/>
Слайд 4Шаблон как ресурс Обычно шаблоны определяются в ресурсах, что их можно было
использовать многократно TargetType="{x:Type Button}"> …..
Слайд 5Триггеры в шаблоне Триггеры задаются в коллекции ControlTemplate.Triggers Триггеры необходимо задавать в конце
ControlTempplate, чтобы они имели доступ к объектам шаблона В объектах Triggers можно определять объекты Animation
Слайд 6Свойства родителя шаблона Шаблон можно настраивать, задавая свойства элемента управления, использующего этот
шаблон. Для настройки шаблона используется TemplateBinding …
Слайд 7Применение шаблонов в стиле Можно использовать стили для автоматического применения шаблона всем
элементам данного типа
Слайд 8User и Custom Controls Пользовательские элементы управления Состоят из связаных вместе элементов управления
с общей функциональностью в общем пользовательском интерфейсе Наследуют класс UserControl Шаблон проекта в VS WPF User Control Library Настраиваемые элементы управления Определяют собственное визуальное оформления и функциональность Наследуют класс Control или ContentControl Шаблон проекта в VS WPF Custom Control Library
Слайд 10Конвертеры Конвертер – класс, преобразующий один тип в другой XAML использует их повсеместно Преобразование
строки в объект Реализует IValueConverter Методы Convert и ConvertBack object Convert(object value, Type targetType, object parameter, CultureInfo Culture)
Слайд 11Дополнительные свойства ConverterParameter – дополнительный параметр ConverterCulture – культура конвертера Нужна для локализации
Слайд 12Установка конвертера Для использования конвертера: Необходимо указать пространство имен, где находится конвертер
Создать в
ресурсах экземпляр конвертера Использовать конвертер в Binding {Binding Converter={StaticResource myconv} }
Слайд 14Привязка к данным Привязка к данным – это создание связи между двумя
свойствами разных объектов Не обязательно визуальных Характеристики связи Направление Источник и получатель Динамичность (один раз или постоянно) Сложность (один к одному или привязка к коллекции)
Слайд 15Объекты связи Binding – объекты этого класса задают связь В XAML используются расширение
{Binding} В C# - объект Binding Свойства Binding Source – объект-источник привязки ElementName – UI-объект источник привязки Path – путь к свойству привязки XPath – xpath-запрос при привязке к XML Mode: OneWay, TwoWay, OneTime, OneWayToSource
Слайд 17Привязка к коллекциям Некоторые элементы отображают много элементов ListBox, ListView Особенности таких элементов: Модель содержимого
– Items (элементы, значки) Можно задать ItemsSource – источник элементов
Слайд 18Коллекции для привязки Обычные коллекции Не поддерживают динамического обновления Специальные коллекции ObservableCollection Поддерживают динамическое обновление INotifyPropertyChange Позволяет реализовывать
оповещение изменения свойства для любого элемента
Слайд 19Простая привязка к коллекциям Демонстрация
Слайд 20Шаблоны данных Простая привязка коллекции Вызывает ToString() Очень ограничена в применении Привязка с шаблонами данных «Второй
уровень» привязки Задается шаблон В шаблоне можно осуществлять простую или сложную привязку свойств Можно делать следующий уровень иерархии и т.д.!
Слайд 27Привязки Любое свойство можно можно связать с любым другим объектом, свойством, коллекцией. Основа
привязки данных – класс Binding Связывает два свойства: источник и конечное свойство
Слайд 28Класс Binding ElementName – имя элемента-источника при привязке к элементу WPF Source –
имя объекта при привязке не к элементу WPF Path – путь к свойству в объекте-источнике Mode – направление привязки RelativeSource – задает источник связывания, относительно текущего элемента в визуальном дереве.
Если не удалось найти и скачать презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:
Это сайт презентаций, докладов, проектов, шаблонов в формате PowerPoint. Мы помогаем школьникам, студентам, учителям, преподавателям хранить и обмениваться учебными материалами с другими пользователями.