View
14
Download
0
Category
Preview:
Citation preview
WPF
Windows Presentation Foundation
Windows Presentation Foundation (WPF) ― это система для построения сложных клиентских приложений Windows с огромными визуальными возможностями взаимодействия с пользователем.
• Векторная система визуализации.
• Новый графический механизм (DirectX).
• Аппаратное ускорение.
• Независимость от разрешения.
• Никакого фиксированного внешнего вида элементов управления.
• Декларативный пользовательский интерфейс (XAML).
Архитектура WPF
PresentationFramework.dll
PresentationCore.dll WindowsBase.dll
milcore.dll WindowsCodecs.dll
Управляемый API-интерфейс
WPF
Уровень медиа -
интеграции
Direct3D User32
Иерархия классов
DispatcherObject
Visual
DependencyObject
UIElement
FrameworkElement
Shape Panel Control
ContentControl ItemsControl
XAML
Extensible Application Markup Language (XAML) – расширяемый язык разметки приложений.
XAML – язык разметки
Этот язык также используется в приложениях Silverlight, Windows Phone 7, Workflow.
Объединяет работу дизайнера и программиста. (Одна из ключевых причин создания Microsoft языка XAML)
Варианты XAML
Существует несколько подмножеств XAML.
• WPF XAML – то что мы с вами сегодня будем рассматривать.
• XPS XAML – часть WPF XAML определяет XML представление форматированных электронных документов.
• Silverlight XAML – подмножество WPF XAML предназначенное для Silverlight приложений.
• WF XAML – включает элементы Windows Workflow Foundation.
• WP7 XAML – включает элементы для платформы Windows Phone 7.
Основы XAML
• Каждый элемент в XAML отображается на экземпляр класса .NET.
• Как и XML, допускает вложенности.
• Свойства каждого класса устанавливаются через атрибуты.
Пример:
Пространство имен XAML
xmlns – Специализированный атрибут в XML, который зарезервирован для пространств имен.
http://schemas.microsoft.com/winfx/2006/xaml/presentation - основное пространство имен WPF.
http://schemas.microsoft.com/winfx/2006/xaml - Пространство имен XAML. (включает различные служебные свойства XAML)
Класс Application
Что он делает?
• Отслеживает все открытые окна в приложении.
• Решает когда приложение должно быть остановлено.
• Инициирует события приложения:
– Startup
– Exit
– SessionEnding
– Activated
– Deactivated
– DispatcherUnhendledException
Demo
Layout контейнеры
Все layout контейнеры в WPF наследуются от класса Panel.
Основные layout контейнеры
• StackPanel - размещает элементы в стеке.
• WrapPanel – размещает элементы в сериях строк с переносом.
• DockPanel – выравнивает элементы по краю контейнера.
• Grid – выстраивает элементы в строки и колонки невидимой таблицы.
• UniformGrid – помещает элементы в невидимую таблицу с одинаковыми размерами для ячеек.
• Canvas – Позволяет элементам позиционироваться абсолютно.
StackPanel
StackPanel – устанавливает дочерние элементы в одну строку или колонку.
Grid
Grid – позволяет разбить ваше окно на маленькие области которыми вы можно управлять с других панелей.
Canvas
Canvas – позволяет размещать элементы используя точные координаты.
Demo
Ресурсы (Object resource)
Ресурс объекта – это .NET объект который определяется в одном месте, а используется в нескольких.
• Эффективность
• Удобство сопровождения
• Адаптируемость
Каждый элемент имеет свою собственную коллекцию ресурсов.
Статические и динамические ресурсы.
Словари ресурсов.
Разделение словарей ресурсов.
Стили
• Стиль дает возможность сразу определить все свойства элемента .
• Возможность использовать ресурсы в стилях.
• Создание объекта стиля в файле ресурсов или в ресурсе объекта.
• Добавление обработчиков событий.
• Несколько уровней стилей.
• Возможность определять шаблоны в стилях.
• Автоматическое применение стилей по типу.
Шаблоны
Шаблоны - используются для определения вида и поведения элемента управления.
• Можно изменить отображение и поведение любого элемента WPF.
• Шаблоны в стилях.
• Использование шаблонов со стилями.
• Использование привязки к свойствам элемента.
• Шаблоны можно хранить в ресурсах.
Demo
Data Binding (Привязка данных)
Data Binding – способность привязать свойства одного объекта к свойствам другого.
• Привязка к свойству элемента.
• Множественные привязки.
• Режимы привязки.
• Выбор события по которому будет срабатывать обновления привязки.
• Использование конвертеров.
• Форматирование строки.
DataContext
DataContext – это свойство предоставляет мост для связывания данных между моделью и элементами XAML.
• Элементы пользовательского интерфейса в WPF имеют при себе связываемое свойство DataContext.
• Позволяет элементам наследовать информацию об источнике данных из родительского элемента.
Лучше показать….
Recommended