21
WPF

Windows Presentation Foundation - Binary Studio › media › 10321 › wpf.pdf · 2020-02-18 · Windows Presentation Foundation Windows Presentation Foundation (WPF) ― это

  • Upload
    others

  • View
    13

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Windows Presentation Foundation - Binary Studio › media › 10321 › wpf.pdf · 2020-02-18 · Windows Presentation Foundation Windows Presentation Foundation (WPF) ― это

WPF

Page 2: Windows Presentation Foundation - Binary Studio › media › 10321 › wpf.pdf · 2020-02-18 · Windows Presentation Foundation Windows Presentation Foundation (WPF) ― это

Windows Presentation Foundation

Windows Presentation Foundation (WPF) ― это система для построения сложных клиентских приложений Windows с огромными визуальными возможностями взаимодействия с пользователем.

• Векторная система визуализации.

• Новый графический механизм (DirectX).

• Аппаратное ускорение.

• Независимость от разрешения.

• Никакого фиксированного внешнего вида элементов управления.

• Декларативный пользовательский интерфейс (XAML).

Page 3: Windows Presentation Foundation - Binary Studio › media › 10321 › wpf.pdf · 2020-02-18 · Windows Presentation Foundation Windows Presentation Foundation (WPF) ― это

Архитектура WPF

PresentationFramework.dll

PresentationCore.dll WindowsBase.dll

milcore.dll WindowsCodecs.dll

Управляемый API-интерфейс

WPF

Уровень медиа -

интеграции

Direct3D User32

Page 4: Windows Presentation Foundation - Binary Studio › media › 10321 › wpf.pdf · 2020-02-18 · Windows Presentation Foundation Windows Presentation Foundation (WPF) ― это

Иерархия классов

DispatcherObject

Visual

DependencyObject

UIElement

FrameworkElement

Shape Panel Control

ContentControl ItemsControl

Page 5: Windows Presentation Foundation - Binary Studio › media › 10321 › wpf.pdf · 2020-02-18 · Windows Presentation Foundation Windows Presentation Foundation (WPF) ― это

XAML

Extensible Application Markup Language (XAML) – расширяемый язык разметки приложений.

XAML – язык разметки

Этот язык также используется в приложениях Silverlight, Windows Phone 7, Workflow.

Объединяет работу дизайнера и программиста. (Одна из ключевых причин создания Microsoft языка XAML)

Page 6: Windows Presentation Foundation - Binary Studio › media › 10321 › wpf.pdf · 2020-02-18 · Windows Presentation Foundation Windows Presentation Foundation (WPF) ― это

Варианты XAML

Существует несколько подмножеств XAML.

• WPF XAML – то что мы с вами сегодня будем рассматривать.

• XPS XAML – часть WPF XAML определяет XML представление форматированных электронных документов.

• Silverlight XAML – подмножество WPF XAML предназначенное для Silverlight приложений.

• WF XAML – включает элементы Windows Workflow Foundation.

• WP7 XAML – включает элементы для платформы Windows Phone 7.

Page 7: Windows Presentation Foundation - Binary Studio › media › 10321 › wpf.pdf · 2020-02-18 · Windows Presentation Foundation Windows Presentation Foundation (WPF) ― это

Основы XAML

• Каждый элемент в XAML отображается на экземпляр класса .NET.

• Как и XML, допускает вложенности.

• Свойства каждого класса устанавливаются через атрибуты.

Пример:

Page 8: Windows Presentation Foundation - Binary Studio › media › 10321 › wpf.pdf · 2020-02-18 · Windows Presentation Foundation Windows Presentation Foundation (WPF) ― это

Пространство имен XAML

xmlns – Специализированный атрибут в XML, который зарезервирован для пространств имен.

http://schemas.microsoft.com/winfx/2006/xaml/presentation - основное пространство имен WPF.

http://schemas.microsoft.com/winfx/2006/xaml - Пространство имен XAML. (включает различные служебные свойства XAML)

Page 9: Windows Presentation Foundation - Binary Studio › media › 10321 › wpf.pdf · 2020-02-18 · Windows Presentation Foundation Windows Presentation Foundation (WPF) ― это

Класс Application

Что он делает?

• Отслеживает все открытые окна в приложении.

• Решает когда приложение должно быть остановлено.

• Инициирует события приложения:

– Startup

– Exit

– SessionEnding

– Activated

– Deactivated

– DispatcherUnhendledException

Page 10: Windows Presentation Foundation - Binary Studio › media › 10321 › wpf.pdf · 2020-02-18 · Windows Presentation Foundation Windows Presentation Foundation (WPF) ― это

Demo

Page 11: Windows Presentation Foundation - Binary Studio › media › 10321 › wpf.pdf · 2020-02-18 · Windows Presentation Foundation Windows Presentation Foundation (WPF) ― это

Layout контейнеры

Все layout контейнеры в WPF наследуются от класса Panel.

Основные layout контейнеры

• StackPanel - размещает элементы в стеке.

• WrapPanel – размещает элементы в сериях строк с переносом.

• DockPanel – выравнивает элементы по краю контейнера.

• Grid – выстраивает элементы в строки и колонки невидимой таблицы.

• UniformGrid – помещает элементы в невидимую таблицу с одинаковыми размерами для ячеек.

• Canvas – Позволяет элементам позиционироваться абсолютно.

Page 12: Windows Presentation Foundation - Binary Studio › media › 10321 › wpf.pdf · 2020-02-18 · Windows Presentation Foundation Windows Presentation Foundation (WPF) ― это

StackPanel

StackPanel – устанавливает дочерние элементы в одну строку или колонку.

Page 13: Windows Presentation Foundation - Binary Studio › media › 10321 › wpf.pdf · 2020-02-18 · Windows Presentation Foundation Windows Presentation Foundation (WPF) ― это

Grid

Grid – позволяет разбить ваше окно на маленькие области которыми вы можно управлять с других панелей.

Page 14: Windows Presentation Foundation - Binary Studio › media › 10321 › wpf.pdf · 2020-02-18 · Windows Presentation Foundation Windows Presentation Foundation (WPF) ― это

Canvas

Canvas – позволяет размещать элементы используя точные координаты.

Page 15: Windows Presentation Foundation - Binary Studio › media › 10321 › wpf.pdf · 2020-02-18 · Windows Presentation Foundation Windows Presentation Foundation (WPF) ― это

Demo

Page 16: Windows Presentation Foundation - Binary Studio › media › 10321 › wpf.pdf · 2020-02-18 · Windows Presentation Foundation Windows Presentation Foundation (WPF) ― это

Ресурсы (Object resource)

Ресурс объекта – это .NET объект который определяется в одном месте, а используется в нескольких.

• Эффективность

• Удобство сопровождения

• Адаптируемость

Каждый элемент имеет свою собственную коллекцию ресурсов.

Статические и динамические ресурсы.

Словари ресурсов.

Разделение словарей ресурсов.

Page 17: Windows Presentation Foundation - Binary Studio › media › 10321 › wpf.pdf · 2020-02-18 · Windows Presentation Foundation Windows Presentation Foundation (WPF) ― это

Стили

• Стиль дает возможность сразу определить все свойства элемента .

• Возможность использовать ресурсы в стилях.

• Создание объекта стиля в файле ресурсов или в ресурсе объекта.

• Добавление обработчиков событий.

• Несколько уровней стилей.

• Возможность определять шаблоны в стилях.

• Автоматическое применение стилей по типу.

Page 18: Windows Presentation Foundation - Binary Studio › media › 10321 › wpf.pdf · 2020-02-18 · Windows Presentation Foundation Windows Presentation Foundation (WPF) ― это

Шаблоны

Шаблоны - используются для определения вида и поведения элемента управления.

• Можно изменить отображение и поведение любого элемента WPF.

• Шаблоны в стилях.

• Использование шаблонов со стилями.

• Использование привязки к свойствам элемента.

• Шаблоны можно хранить в ресурсах.

Page 19: Windows Presentation Foundation - Binary Studio › media › 10321 › wpf.pdf · 2020-02-18 · Windows Presentation Foundation Windows Presentation Foundation (WPF) ― это

Demo

Page 20: Windows Presentation Foundation - Binary Studio › media › 10321 › wpf.pdf · 2020-02-18 · Windows Presentation Foundation Windows Presentation Foundation (WPF) ― это

Data Binding (Привязка данных)

Data Binding – способность привязать свойства одного объекта к свойствам другого.

• Привязка к свойству элемента.

• Множественные привязки.

• Режимы привязки.

• Выбор события по которому будет срабатывать обновления привязки.

• Использование конвертеров.

• Форматирование строки.

Page 21: Windows Presentation Foundation - Binary Studio › media › 10321 › wpf.pdf · 2020-02-18 · Windows Presentation Foundation Windows Presentation Foundation (WPF) ― это

DataContext

DataContext – это свойство предоставляет мост для связывания данных между моделью и элементами XAML.

• Элементы пользовательского интерфейса в WPF имеют при себе связываемое свойство DataContext.

• Позволяет элементам наследовать информацию об источнике данных из родительского элемента.

Лучше показать….