Presentation is loading. Please wait.

Presentation is loading. Please wait.

11/27/2018 7:24 PM Тренинг Введение в разработку приложений на Windows Presentation Foundation Занятие 5 Элементы управления Роман Здебский rzdebski@microsoft.com.

Similar presentations


Presentation on theme: "11/27/2018 7:24 PM Тренинг Введение в разработку приложений на Windows Presentation Foundation Занятие 5 Элементы управления Роман Здебский rzdebski@microsoft.com."— Presentation transcript:

1 11/27/2018 7:24 PM Тренинг Введение в разработку приложений на Windows Presentation Foundation Занятие 5 Элементы управления Роман Здебский © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION. 1

2 Содержание Элементы управления Шаблоны Стили
Произвольные элементы управления

3 Элементы управления 11/27/2018 7:24 PM
© 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

4 Элементы управления Объектная модель WPF Visual UIElement
FrameworkElement Control Базовые классы Control Что на панели инструментов? Новые Элементы управления

5 FrameworkContentElement
Объектная модель WPF DispatcherObject Dependency Object Decorator Panel Shape FrameworkContentElement ContentElement Visual3D Freezable Animatable Visual UIElement FrameworkElement Control

6 Visual Обеспечивает: Напоминает Win32 handle концепцию (HWND)
Рендеринг Hit testing Clipping (Обрезание краев) Трансформации Вычисление границ Напоминает Win32 handle концепцию (HWND) Visual UIElement FrameworkElement Control

7 UIElement Обеспечивает: События ввода пользователя
Маршрут. события (routed events) Маршрут. команды (routed commands) Анимации BeginAnimation Размеры и позиционирование Measure Arrange DesiredSize Visual UIElement FrameworkElement Control

8 FrameworkElement Обеспечивает: Систему метаданных свойств
Дополнительные свойства расположения Стили Storyboards Триггеры Visual UIElement FrameworkElement Control

9 Control Обеспечивает: Поддержку control templates (шаблонов)
Dependency properties для использования в control templates (шаблонах) Visual UIElement FrameworkElement Control

10 Базовые классы Control
FrameworkElement Control ContentControl ItemsControl

11 Что на панели инструментов?
ItemsControl HeaderedItemsControl MenuItem ToolBar TreeViewItem MenuBase ContextMenu Menu Selector ComboBox ListBox ListView MultiSelector TabControl StatusBar TreeView ButtonBase Button DropDownButton CheckBox RadioButton GridViewColumnHeader RepeatButton ToggleButton Panel Canvas DockPanel Grid TabPanel ToolBarOverflowPanel UniformGrid StackPanel VirtualizingPanel WrapPanel RangeBase ScrollBar ProgressBar Slider

12 Прочее полезное Decorator Primitives Popup Thumb Adorner Decorator
ResizeGrip TickbBar Track TextBoxBase Decorator Adorner Decorator ButtonChrome ListboxChrome Border Viewbox InkPresenter ClassicBorderDecorator

13 Новые элементы управления
Недавно вышли: DataGrid Calendar/DatePicker В CTP Ribbon*

14 Templates (Шаблоны) 11/27/2018 7:24 PM
© 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

15 Шаблоны Шаблоны в WPF Look-less Controls (элементы без вида)
Control Templates (шаблоны) TemplateBinding Демо: Шаблоны

16 Lookless Controls Элементы без вида
WPF элементы абстрагированы от вида: Обеспечивают поведение Нет встроенной визуализации Внешний вид определяется отдельно от реализации В файле темы (theme file) Создается дизайнером Элементы обычно имеют стиль по умолчанию

17 Шаблоны (Control Templates)
Определяют структуру элемента Визуальное дерево шаблона разворачивается для каждого экземпляра элемента

18 Шаблоны в WPF =

19 Шаблоны в WPF Переопределяют визуальное дерево
Замена шаблона изменяет вид, но не поведенческую модель Каждый элемент управления в составе WPF имеет шаблон Шаблоны не наследуются через BasedOn свойство

20 TemplateBinding Связывает свойство элемента в шаблоне со свойством элемента, к которому шаблон применяется. Защищает свойства, установленные на дочерних элементах от переопределения в шаблоне Использует класс TemplateBindingExtension

21 11/27/2018 7:24 PM Шаблоны Демо © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

22 11/27/2018 7:24 PM Стили © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

23 Стили Стили в WPF Расширение стилей Стили в XAML Применение стилей
Демо: стили

24 Стили в WPF Коллекция значений свойств
Группируются элементом <Style> типа System.Windows.Style Стили используются для определения шаблонов Стили именуются с помощью атрибута x:Key

25 Расширение стилей С помощью свойства BasedOn, указывающего на существующий стиль Все setters родительноского стиля наследуются потомком Стили могут использовать BasedOn вместе с x:Key

26 Расширение стилей

27 Применение стилей Стили могут быть применены:
Name/Key (Имя или ключ) Type (Тип) Scope (Область видимости) Может использоваться комбинация этих методов Элемент использует стиль если он подходит по типу и области видимости или, используя атрибут Style

28 Применение стилей Name/Key Type Scope

29 11/27/2018 7:24 PM Стили Демо © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

30 Произвольные элементы управления
11/27/2018 7:24 PM Произвольные элементы управления © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

31 Произвольные элементы управления
Произвольные элементы управления Способы создания UserControl Custom Controls

32 Возможности создания новых
WPF три модели создания произвольных элементов управления : Наследовать от UserControl Наследовать от Control Наследовать от FrameworkElement

33 UserControls Создание UserControl позволяет осуществлять композицию существующих элементов Например контрол для поиска из Textbox и Button UserControl - ContentControl Чтобы создать UserControl Определить класс унаследованный от UserControl В XAML определить визуализацию UserControl из каких элементов он состоит

34 Custom Controls Создавайте custom controls для:
Расширения существующего, например TextBox Получении элемента поддерживающего стилизацию через шаблоны (control template) Максимальное повторное использование Чтобы создать custom control: Определить класс, наслед. От Control Переопределить DefaultStyleKeyProperty Определить шаблон в /Themes/Generic.xaml ресурсном словаре

35 Пример Custom Control Derived from Control Override default style
Control template in Generic.xaml

36 Произвольные элементы управления
Наследование от FrameworkElement больше контроля над внешним видом Два метода: Direct Rendering: переопределение OnRender метода, DrawingContext операции для явного определения визуальных элементов Custom Element Composition: построение дерева на основе визуальных объектов

37 Произвольные элементы управления
Произвольные элементы управления Visual Прямой рендеринг Композиция элементов UIElement Shape FrameworkElement Border Track Control

38 11/27/2018 7:24 PM © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION. © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.


Download ppt "11/27/2018 7:24 PM Тренинг Введение в разработку приложений на Windows Presentation Foundation Занятие 5 Элементы управления Роман Здебский rzdebski@microsoft.com."

Similar presentations


Ads by Google