Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

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

Читайте также:
  1. Архитектура
  2. Архитектура
  3. Архитектура
  4. Архитектура
  5. Архитектура
  6. Архитектура
  7. Архитектура

Технология WPF использует многоуровневую архитектуру. На вершине ваше приложение взаимодействует с высокоуровневым набором служб, которые полностью написаны на управляемом коде С#. Действительная работа по трансляции объектов.NET в текстуры и треугольники Direct3D происходит "за кулисами", с использованием низкоуровневого неуправляемого компонента по имени milcore.dll. Библиотека milcore.dll реализована в неуправляемом коде потому, что ей требуется тесная интеграция с Direct3D, и вдобавок для нее чрезвычайно важна производительность.

На рис. 2.2 показаны уровни, на которых построена работа приложения WPF.


Рисунок 2.2. Архитектура WPF

Ниже описаны ключевые компоненты, присутствующие на рис. 2.2.

· PresentationFramework (PresentationFramework.dll) содержит типы WPF верхнего уровня, включая те, что представляют окна, панели и прочие виды элементов управления. Также он реализует высокоуровневые программные абстракции, такие как стили. Большинство классов, которые вы будете использовать, находятся непосредственно в этой сборке.

· PresentationCore (PresentationCore.dll) содержит базовые типы, такие как UIElement и Visual, от которых унаследованы все фигуры и элементы управления. Если вам не нужен полный уровень абстракции окон и элементов управления, можете опуститься ниже, на этот уровень, и продолжать пользоваться преимуществами механизма визуализации WPF.

· Common Language Runtime (.NET Fx) а именно WindowsBase.dll — содержит еще более базовые ингредиенты, которые потенциально могут применяться вне WPF, такие как Dispatcher Object и Dependency Object, поддерживающие механизм свойств зависимости

· MIL (milcore.dll) — ядро системы визуализации WPF и фундамент уровня медиа-интеграции (Media Integration Layer — MIL). Его составной механизм транслирует визуальные элементы в треугольники и текстуры, которых ожидает Direct3D. Хотя milcore.dll считается частью WPF, это также важнейший компонент операционных систем Windows Vista и Windows 7. В действительности DWM (Desktop Window Manager — диспетчер окон рабочего стола) использует milcore.dll для отображения рабочего стола.

· Codecs (WindowsCodecs.dll) — низкоуровневый API-интерфейс, обеспечивающий поддержку изображений (например, обработку, отображение и масштабирование растровых изображений и файлов JPEG).

· DirectХ (Direct3D) — низкоуровневый API-интерфейс, через который визуализируется вся графика в WPF.

· User32 используется для определения того, какое место на экране к какой программе относится. В результате он по-прежнему вовлечен в WPF, но не участвует в визуализации распространенных элементов управления.

Наиболее важный факт, который потребуется осознать, состоит в том, что Direct3D визуализирует все рисование в WPF. При этом не важно, установлена на компьютере видеокарта со скромными возможностями или же более мощная, используются базовые элементы управления или рисуется более сложное содержимое, запускается приложение в Windows ХР, Windows Vista или Windows 7. Даже двумерные фигуры и обычный текст трансформируются в треугольники и проходят по трехмерному конвейеру. Какие-либо обращения к GDI или User32 отсутствуют.


Дата добавления: 2015-08-13; просмотров: 111 | Нарушение авторских прав


Читайте в этой же книге: Задача 4. | Задача 9. | Шаг 1. Создание проекта | Шаг 2. Добавляем элементы интерфейса для XAML-страниц | Шаг 1. Принципы разметки | StackPanel | Шаг 2. Создаем Twitter-приложение | Шаг 4. Размещаем элементы для страницы поиска | Шаг 5. Изменяем UriMapper для Search.xaml | Независимость от разрешения |
<== предыдущая страница | следующая страница ==>
Архитектура Silverlight| Элементы управления WPF

mybiblioteka.su - 2015-2024 год. (0.006 сек.)