Программирование на C# 4 и .NET 4 презентация

Содержание

Шаблон элемента управления Элементы управления 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

Слайд 9
ControlTemplate
Демонстрации


Слайд 10Конвертеры
Конвертер – класс, преобразующий один тип в другой
XAML использует их повсеместно
Преобразование

строки в объект
Реализует IValueConverter
Методы Convert и ConvertBack
object Convert(object value, Type targetType, object parameter, CultureInfo Culture)

Слайд 11Дополнительные свойства
ConverterParameter – дополнительный параметр
ConverterCulture – культура конвертера
Нужна для локализации


Слайд 12Установка конвертера
Для использования конвертера:
Необходимо указать пространство имен, где находится конвертер

Создать в

ресурсах экземпляр конвертера

Использовать конвертер в Binding
{Binding Converter={StaticResource myconv} }

Слайд 13Конвертер
Демонстрация


Слайд 14Привязка к данным
Привязка к данным – это создание связи между двумя

свойствами разных объектов
Не обязательно визуальных
Характеристики связи
Направление
Источник и получатель
Динамичность (один раз или постоянно)
Сложность (один к одному или привязка к коллекции)

Слайд 15Объекты связи
Binding – объекты этого класса задают связь
В XAML используются расширение

{Binding}
В C# - объект Binding
Свойства Binding
Source – объект-источник привязки
ElementName – UI-объект источник привязки
Path – путь к свойству привязки
XPath – xpath-запрос при привязке к XML
Mode: OneWay, TwoWay, OneTime, OneWayToSource

Слайд 16Простая привязка к данным
Демонстрация


Слайд 17Привязка к коллекциям
Некоторые элементы отображают много элементов
ListBox, ListView
Особенности таких элементов:
Модель содержимого

– Items (элементы, значки)
Можно задать ItemsSource – источник элементов

Слайд 18Коллекции для привязки
Обычные коллекции
Не поддерживают динамического обновления
Специальные коллекции
ObservableCollection
Поддерживают динамическое обновление
INotifyPropertyChange
Позволяет реализовывать

оповещение изменения свойства для любого элемента

Слайд 19Простая привязка к коллекциям
Демонстрация


Слайд 20Шаблоны данных
Простая привязка коллекции
Вызывает ToString()
Очень ограничена в применении
Привязка с шаблонами данных
«Второй

уровень» привязки
Задается шаблон
В шаблоне можно осуществлять простую или сложную привязку свойств
Можно делать следующий уровень иерархии и т.д.!

Слайд 21Пример шаблона

Path=FullName}/>

….
ItemTemplate="{StaticResource dt}"

Осуществит привязку свойства Source рисунка к пути к файлу

Слайд 22Шаблон панели
Для ListBox можно задать шаблон панели
Расположение элементов нужным образом


Слайд 23Привязка к шаблону
Демонстрация


Слайд 27Привязки
Любое свойство можно можно связать с любым другим объектом, свойством, коллекцией.
Основа

привязки данных – класс Binding
Связывает два свойства: источник и конечное свойство

Слайд 28Класс Binding
ElementName – имя элемента-источника при привязке к элементу WPF
Source –

имя объекта при привязке не к элементу WPF
Path – путь к свойству в объекте-источнике
Mode – направление привязки
RelativeSource – задает источник связывания, относительно текущего элемента в визуальном дереве.

Слайд 29Привязка к элементу WPF



Слайд 30Привязка к объекту
Привязка к статическому объекту системы

Привязка к

объекту







Слайд 31
Привязки
Демонстрация


Обратная связь

Если не удалось найти и скачать презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое ThePresentation.ru?

Это сайт презентаций, докладов, проектов, шаблонов в формате PowerPoint. Мы помогаем школьникам, студентам, учителям, преподавателям хранить и обмениваться учебными материалами с другими пользователями.


Для правообладателей

Яндекс.Метрика