Основы разработки WPF-приложений
Особенность обеспечения интерфейса пользователя высокого уровня с помощью технологии Windows Presentation Foundation. Характеристика определения основных пространств имен для иерархии классов. Связь триггеров со стилями через коллекцию style triggers.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | статья |
Язык | русский |
Дата добавления | 27.11.2018 |
Размер файла | 99,8 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
ОСНОВЫ РАЗРАБОТКИ WPF-ПРИЛОЖЕНИЙ
И.А. Соломатина
А.С. Нилова
Технология WPF (Windows Presentation Foundation) представляет собой подсистему для построения графических интерфейсов. В основе WPF лежит мощная инфраструктура, основанная на DirectX - API-интерфейсе графики с аппаратным ускорением, который обычно используется в современных компьютерных играх. Таким образом, ключевой особенностью рендеринга графики в WPF состоит в том, что значительная часть работы по отрисовке графики выполняется графическим процессором на видеокарте, что также позволяет воспользоваться аппаратным ускорением графики.
Одной из важных особенностей WPF является использование языка декларативной разметки интерфейса XAML, основанного на XML. При этом можно создавать графический интерфейс с помощью декларативного описания и кода на языках C# и VB.NET. [1,4]
В основе WPF лежит векторная система визуализации, не зависящая от разрешения и созданная с расчетом на возможности современного графического оборудования. WPF предоставляет средства для создания визуального интерфейса, включая язык XAML, элементы управления, привязку данных, макеты, двухмерную и трехмерную графику, анимацию, стили, шаблоны, документы, текст, мультимедиа и оформление.
WPF обеспечивает интерфейс пользователя высокого уровня и предоставляет следующие возможности:
1. Модель компоновки, которая обеспечивает размещение и упорядочивание элементов управления по их содержимому.
2. Многофункциональную модель рисования на базе графических примитивов.
3. Модель с форматированным текстом, которая обеспечивает отображение форматированного стилизованного текста в любой части пользовательского интерфейса, комбинирование текста со списками, рисунками и другими элементами интерфейса.
4. Задание анимации с помощью декларативного описания.
5. Поддержка аудиовизуальной среды для проигрывания любых аудио- и видеофайлов.
6. Стили и шаблоны, которые позволяют стандартизировать форматирование и управление визуализацией элементов управления, а также повторно использовать эти решения в различных местах проекта.
7. Команды, которые позволяют определять их в одном месте и многократно связывать с различными элементами управления в приложении.
8. Декларативный пользовательский интерфейс, который позволяет описывать содержимое окон или страниц с помощью языка XAML.
Основные компоненты архитектуры WPF приведены на рисунке 1.
Рис. 1
Компонент Presentation Framework содержит типы WPF верхнего уровня, включая представление окна, панелей и других элементов управления. Presentation Core содержит базовые типы, такие как: UIElement и Visual, от которых наследуются все формы и элементы управления. Windows Base включает различные типы, которые могут использоваться за пределами WPF, в частности, компоненты DispatcherObject и DependencyObject. Компонент MIL (Media Integration Level) является ядром визуализации WPF. Windows Codecs представляет собой низкоуровневый API-интерфейс для поддержки создания изображений. DirectX также является низкоуровневым API-интерфейсом, через который осуществляется визуализация всей графики в WPF. User32 используется для определения, какая программа получает тот или иной участок экрана.
Архитектура WPF определяет основные пространства имен для иерархии классов. Базовый набор элементов управления WPF определяет ключевые иерархии классов системы. На рисунке 2 приведена иерархия фундаментальных классов WPF, при этом абстрактные классы изображены овалами, а конкретные классы - прямоугольниками.
Рис. 2
Характеристика фундаментальных классов:
1. DispatcherObject. Приложения WPF используют знакомую однопоточную модель (single-thread affinity - STA), а это означает, что весь пользовательский интерфейс принадлежит единственному потоку. Будучи унаследованным от DispatcherObject, каждый элемент пользовательского интерфейса может обратиться к диспетчеру, чтобы направить код в поток пользовательского интерфейса.
2. DependencyObject. В WPF взаимодействие с экранными элементами осуществляется через свойства. За счет наследования от DependencyObject, классы WPF получают поддержку свойств зависимости.
3. Visual. Класс Visual является единственным объектом рисования, инкапсулирующим в себе инструкции рисования, дополнительные подробности рисования и базовую функциональность.
4. UIElement. Класс UIElement добавляет поддержку таких сущностей WPF, как: компоновка (layout), ввод (input), фокус (focus) и события (events). Так же в этом классе щелчки кнопками мыши и нажатия клавиш трансформируются в более удобные события, например, MouseEnter.
5. FrameworkElement. Класс FrameworkElement добавляет к функциональности UIElement задание полей, выравнивание, поддержку связывания данных, анимацию и стили.
6. Shape. От этого класса наследуются базовые фигуры, такие как: Rectangle, Polygon, Ellipse, Line и Path. Эти фигуры могут использоваться наряду с более традиционными графическими элементами Windows вроде кнопок и текстовых полей.
7. Control. Элемент управления (control) - это элемент, который может взаимодействовать с пользователем. К нему относятся такие классы, как: TextBox, Button, ListBox. интерфейс технология триггер
8. ContentControl. Это базовый класс для всех элементов управления, которые содержат один определенный объект. Сюда относится все - от скромной метки Label до окна Window.
9. ItemsControl. Это базовый класс для всех элементов управления, которые отображают коллекцию объектов, например, ListBox, TreeView.
10. Panel. Это базовый класс для всех контейнеров компоновки - элементов, которые содержат в себе один или более дочерних элементов и упорядочивают их в соответствии с определенными правилами компоновки.
11. TextBlock. Это базовый класс для всех текстовых элементов управления. [2,3]
Одним из важных отличий WPF от WinForms является концепция ресурсов. В данном случае под ресурсами подразумевается свойство Resources, которое имеют контейнеры в WPF. Это свойство включает словарь (Resource dictionary) отдельных ресурсов. Каждый ресурс является каким-нибудь объектом, например, элемент управления, кисть, коллекция объектов. Преимуществом использования ресурсов является гибкость, их можно многократно использовать в различных частях приложения, динамически менять. Кроме того, некоторые объекты, например, коллекции пользовательских типов можно объявить только с помощью ресурсов.
Система ресурсов WPF позволяет определять объекты в одном месте и затем повторно использовать их в других частях разметки. Хотя ресурсы можно применять для хранения самых различных объектов, чаще всего в них хранятся стили. [1]
Стилем называется коллекция значений свойств, которые могут применяться к элементу. Система стилей WPF играет ту же роль, что и CSS (Cascading Style Sheet - каскадные таблицы стилей) в HTML-разметке. Подобно CSS, стили WPF позволяют определять общий набор характеристик форматирования и применять его повсюду в приложении для обеспечения согласованного вида.
Однако стили являются более мощными, поскольку их можно применять для стандартизации не связанных с форматированием характеристик, например, поведение какого-либо элемента управления. Вдобавок стили WPF поддерживают триггеры, которые позволяют изменять стиль элемента управления при изменении какого-либо свойства, и могут использовать шаблоны для переопределения встроенного внешнего вида элемента управления.
С помощью триггеров можно автоматизировать процесс внесения простых изменений в стили, что обычно требует написания рутинной логики обработки событий. Например, можно обеспечить реакцию на изменение значения свойства и соответствующим образом автоматически подстроить стиль.
Существуют следующие виды триггеров:
1. Trigger. Это простейшая форма триггера. Он следит за изменением в свойстве зависимости и затем использует средство установки для изменения стиля.
2. MultiTrigger. Похож на Trigger, но поддерживает проверку множества условий. Этот триггер вступает в действие, только если удовлетворены все заданные условия.
3. DataTrigger. Этот триггер работает с привязкой данных. Он похож на Trigger, но следит за изменением в любых связанных данных.
4. MultiDataTrigger. Этот триггер объединяет множество триггеров данных.
5. EventTrigger. Это наиболее сложный триггер. Он применяет анимацию, когда возникает соответствующее событие.
Триггеры связываются со стилями через коллекцию Style.Triggers. Каждый стиль может иметь любое количество триггеров, а каждый триггер является экземпляром класса, унаследованного от System.Windows.TriggerBase. С использованием коллекции FrameworkElement.Triggers триггеры можно применять к элементам напрямую, без создания стиля. Однако коллекция Triggers поддерживает только триггеры событий.
Каждый элемент управления имеет встроенное средство, определяющее способ его визуализации. Это средство называется шаблоном элемента управления (ControlTemplate) и определяется с помощью блока XAML-разметки. Внешний вид любого элемента управления WPF может быть полностью переопределен. Неизменным остается лишь поведение элемента управления, которое жестко привязано к классу элемента.
Когда принято решение воспользоваться элементом управления Button, это объясняется тем, что нужно поведение, подобное кнопке (другими словами, элемент, представляющий содержимое, на который можно нажать для активизации действия, и который может служить кнопкой по умолчанию или кнопкой отмены в окне). Однако можно практически произвольно изменять внешний вид кнопки и ее реакцию на наведение курсора и нажатие кнопок мыши, как и любой другой аспект внешности и визуального поведения.
В WPF существует три типа шаблонов, причем все они наследуются от базового класса FrameworkTemplate. Наряду с шаблонами элементов управления (представленными классом ControlTemplate) есть шаблоны данных (классы DataTemplate и HierarchicalDataTemplate), а также более специализированный шаблон панели для ItemsControl (ItemsPanelTemplate).
Шаблоны данных используются для извлечения данных из объекта и их отображения в элементе управления. Шаблоны данных незаменимы в сценариях привязки данных. В некоторой степени шаблоны данных и шаблоны элементов управления пересекаются. Например, оба типа шаблонов позволяют вставлять дополнительные элементы, применять форматирование и т.д. Однако шаблоны данных служат для добавления элементов внутрь существующего элемента управления.
Предварительно определенные аспекты этого элемента управления при этом не изменяются. С другой стороны, шаблоны элементов управления открывают более широкие возможности, позволяя полностью переписать модель содержимого элемента управления.
Шаблоны панелей применяются для управления компоновкой позиций в списочном элементе управления (элементов, унаследованных от класса ItemsControl). [4]
Размещено на Allbest.ru
...Подобные документы
Мониторинг аппаратного обеспечения для оценки состояния компьютера. Реализация приложения "Мониторинг аппаратного обеспечения" на языке C# в среде программирования Visual Studio 2013 с использованием технологии Windows Presentation Foundation (WPF).
курсовая работа [767,8 K], добавлен 21.02.2016Метод пустого шара Делоне. Симплициальное разбиение (триангуляция). Особенности взаимного расположения симплексов Делоне. Алгоритм построения круга Делоне. Возможности программирования с помощью технологии Microsoft Windows Presentation Foundation.
курсовая работа [639,3 K], добавлен 14.05.2011Классификация служебных программных средств. Файловая структура операционных систем. Основы графического интерфейса пользователя Windows XX. Анализ алгоритмов решения задач. Описание процесса разработки программного обеспечения и результатов работы.
курсовая работа [2,4 M], добавлен 14.11.2016Системные требования для установки программного обеспечения Windows XP Professional, особенности его интерфейса, структуры, возможностей, практическое применение и круг пользователей. Характеристика работы приложений операционной системы, ее надежность.
презентация [1020,0 K], добавлен 02.02.2010Разработка программы создания заметок в любом месте компьютера. Выбор технологии, языка и среды разработки приложения. Описание основных алгоритмов работы программного обеспечения. Проектирование пользовательского интерфейса. Выбор стратегии тестирования.
отчет по практике [700,5 K], добавлен 24.11.2014Обзор технологии COM (Component Object Technology). Особенности графического интерфейса пользователя и методы его реализации. Интерфейс операционных систем Microsoft Windows: работа с папками, файлами и окнами, использование буфера обмена, проводник.
контрольная работа [6,4 M], добавлен 16.04.2011Ознакомление с программой проведения сборки компьютера из деталей, имеющихся в базе данных. Рассмотрение правил создания иерархии классов. Описание основных методов и пользовательского интерфейса. Изучение системных требований и текстов основных классов.
курсовая работа [710,2 K], добавлен 26.07.2014Проектирование службы Windows и приложения для управления этой службой, которое позволит контролировать данные приложения - запускать и завершать определенные процессы по желанию пользователя через определенные промежутки времени. Инструкция по установке.
курсовая работа [2,8 M], добавлен 05.01.2013Структура режима пользователя, предоставляющего возможность пользователю вступать во взаимодействие с системой. Описание режима ядра, который обеспечивает безопасное выполнение приложений (программ) пользователя. Уровень аппаратных абстракций Windows NT.
презентация [29,6 K], добавлен 23.10.2013Основы работы с многооконным графическим пользовательским интерфейсом операционной системы Windows95/NT. Основы работы с прикладными программами Windows и DOS. Разработка простого приложения для Windows при помощи средства разработки приложений DELPHI.
контрольная работа [281,0 K], добавлен 15.01.2009Основы программирования на 32-битном Ассемблере, разработка с его помощью программы, демонстрирующей работу одного из разделов ОС Windоws. Описание используемых АРI-функций как интерфейса программирования приложений. Листинг программы, результаты работы.
курсовая работа [164,5 K], добавлен 18.05.2014Архитектура клиент-сервер на основе сокетов Windows. Описание утилиты Ipconfig. Конфигурирование стека TCP/IP. Реализация сокетов через классы NET. Структура библиотечных и пользовательских классов. Схема интерфейса пользователя и работы приложения.
курсовая работа [419,5 K], добавлен 13.12.2012Особенности интерфейса между разными видами программного обеспечения OLE, разработанного корпорацией Майкрософт. Использование веб-дизайнерами современных элементов управления ActiveX для вставки в страницы мультимедийных данных приложений Windows.
курсовая работа [3,0 M], добавлен 20.08.2014Устройство веб-приложений, преимущества их построения. Характеристика технологий веб-программирования, используемых на стороне сервера и на стороне клиента. Формирование и обработка запросов, создание интерактивного и независимого от браузера интерфейса.
контрольная работа [76,4 K], добавлен 08.07.2014Классы и свойства объектно-ориентированного пространства. Методика создания новых классов в delphi: выбор родительского класса, изменение существующих компонентов, создание подклассов для элементов управления windows. Создание новой ветви классов.
контрольная работа [13,0 K], добавлен 07.07.2012Файловая структура компьютера, ее виды и их характеристика. Каталоги диска и папки Windows 95. Отличительные черты имен файлов и папок в MS-DOS и Windows. Связь между коротким и длинным именем файла. Общее понятие и особенности "корневой" папки.
реферат [51,7 K], добавлен 30.11.2010Особенности процесса взаимодействия пользователя с компьютером. Графический интерфейс ОС Windows, его преимущества и недостатки. Основы простейшего SILK-интерфейса. Основные черты и специфика структуры WIMP-интерфейса. Общепринятые соглашения для меню.
реферат [26,8 K], добавлен 02.10.2012Разработка программного приложения Windows Forms для работы с базой данных на языке высокого уровня в автономном режиме с использованием ADO.NET. Создание консольных приложений (варианты метода Main), выполнение запросов к SQL серверу и листинг программ.
курсовая работа [2,4 M], добавлен 16.06.2014Подбор игрового движка и описание его основных характеристик. Разработка структуры, алгоритма и интерфейса программы. Проектирование иерархии классов. Выделение типового приема визуализации. Тестирование правильности работы программного обеспечения.
курсовая работа [3,1 M], добавлен 19.01.2017Проектирование системы управления базами данных. Особенности реализации в MS SQL. Разработка пользовательского интерфейса. Тестирование и отладка приложения. Руководство пользователя и системного администратора. Анализ и методы разработки приложений.
курсовая работа [867,9 K], добавлен 16.07.2013