Wpf windows Presentation Foundation
Скачать 1.19 Mb.
|
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. • Позволяет элементам наследовать информацию об источнике данных из родительского элемента. Лучше показать…. |