- Windows Presentation Foundation
- Содержание
- Особенности технологии
- Использование разметки XAML
- Средства разработки
- Возможности
- Привязка данных
- Стили
- Шаблоны элементов управления
- Шаблоны данных
- Ресурсы
- Графика
- Трехмерная графика
- Windows Presentation Foundation
- См. также в других словарях:
- windows presentation foundation
- См. также в других словарях:
- Windows Presentation Foundation
- Содержание
- Особенности технологии
- Использование разметки XAML
- Средства разработки
- Версии
- См. также
- Литература
- Ссылки
- Примечания
- Смотреть что такое «Windows Presentation Foundation» в других словарях:
Windows Presentation Foundation
Windows Presentation Foundation (WPF [1] ) (произносится — «даб-пи-эф») — система для построения клиентских приложений Windows с визуально привлекательными возможностями взаимодействия с пользователем, графическая (презентационная) подсистема в составе .NET Framework (начиная с версии 3.0), использующая язык XAML [2] .
WPF предустановлена в Windows Vista (.NET Framework 3.0), Windows 7 (.NET Framework 3.5 SP1), Windows 8 (.NET Framework 4.0 и 4.5), Windows 8.1 (.NET Framework 4.5.1). С помощью WPF можно создавать широкий спектр как автономных, так и запускаемых в браузере приложений [3] .
Содержание
Особенности технологии
В основе WPF лежит векторная система визуализации, не зависящая от разрешения устройства вывода и созданная с учётом возможностей современного графического оборудования. WPF предоставляет средства для создания визуального интерфейса, включая язык XAML (eXtensible Application Markup Language), элементы управления, привязку данных, макеты, двухмерную и трёхмерную графику, анимацию, стили, шаблоны, документы, текст, мультимедиа и оформление [3] .
Графической технологией, лежащей в основе WPF, является DirectX, в отличие от Windows Forms, где используется GDI/GDI+ [4] . Производительность WPF выше, чем у GDI+ за счёт использования аппаратного ускорения графики через DirectX.
Также существует урезанная версия CLR, называющаяся WPF/E, она же известна как Silverlight.
Использование разметки XAML
XAML представляет собой язык декларативного описания интерфейса, основанный на XML. Также реализована модель разделения кода и дизайна, позволяющая кооперироваться программисту и дизайнеру. Кроме того, есть встроенная поддержка стилей элементов, а сами элементы легко разделить на элементы управления второго уровня, которые, в свою очередь, разделяются до уровня векторных фигур и свойств/действий. Это позволяет легко задать стиль для любого элемента, например, Button (кнопка).
Средства разработки
Для работы с WPF требуется любой .NET-совместимый язык. В этот список входит множество языков: C#, F#, VB.NET, C++, Ruby, Python, Delphi (Prism), Lua и многие другие. Для полноценной работы может быть использована как Visual Studio, так и Expression Blend. Первая ориентирована на программирование, а вторая — на дизайн и позволяет делать многие вещи, не прибегая к ручному редактированию XAML. Примеры этому — анимация, стилизация, состояния, создание элементов управления и так далее.
Возможности
WPF предоставляет широкий спектр возможностей по созданию интерактивных настольных приложений:
Привязка данных
Это гибкий механизм, который позволяет через расширения разметки XAML связывать различные данные (от значений свойств элементов управления до общедоступных свойств, реализующих поля базы данных через Entity Framework). Привязка данных представлена классом Binding, который в свою очередь унаследован от MarkupExtension, что позволяет использовать привязки не только в коде, но и в разметке:
Помимо основного класса Binding в WPF реализовано еще несколько механизмов привязок:
- MultiBinding — позволяет создавать множественные привязки, указывая несколько элементов
- TemplateBinding — используется в шаблонах для связывания свойства элемента внутри шаблона со свойством элемента, к которому применен шаблон
- PriorityBinding — ранжирует список привязок и выбирает из них свойство (согласно приоритету) к которому будет применена привязка. Если привязка, имеющая наивысший приоритет успешно возвращает значение, то нет необходимости обрабатывать другие привязки в списке.
Стили
Позволяют создавать стилевое оформление элементов и, как правило, используются только в разметке:
Если стиль задается в ресурсах (например в словаре ресурсов), то можно использовать атрибут x:Key для указания уникального ключа. Затем в элементе управления, к которому необходимо применить стиль, нужно использовать расширение разметки StaticResource для связывания с этим стилем. Если использовать этот прием, то стили не будут нагромождать разметку.
Шаблоны элементов управления
Позволяют менять графическое оформление элементов и представлены классом ControlTemplate. В отличие от стилей, можно менять не только графическое представление элемента, но и его структуру. При этом шаблон элемента управления задается через свойство Template.
Простой пример круглой кнопки:
Шаблоны данных
В отличие от шаблонов элементов управления, задаются для определенного контекста данных (который в блочных элементах управления задается через свойство DataContext, а в списковых через ItemsSource). Сам шаблон данных представлен классом DataTemplate. Для обозначения типа данных, к которому необходимо применить шаблон, используется свойство DataType.
Ресурсы
Система ресурсов позволяет объединять шаблоны, стили, кисти, анимацию и многие другие интерактивные элементы, что существенно упрощает работу с ними. Ресурсы задаются в свойстве Resources класса FrameworkElement, от которого унаследованы все элементы управления, панели компоновки и даже класс Application. Это позволяет создавать многоуровневую систему ресурсов:
- ресурсы внутри объекта — действительны только для этого объекта
- ресурсы внутри панели компоновки (например Grid) — позволяет задать границу контекста ресурсов на уровне этой панели
- ресурсы внутри окна Window — если в приложении используется несколько окон, то ресурсы одного окна не будут доступны ресурсам другого окна
- ресурсы приложения — доступны повсеместно (как правило задаются в отдельном словаре ресурсов)
Графика
WPF представляет обширный, масштабируемый и гибкий набор графических возможностей:
- Графика, не зависящая от разрешения и устройства. Основной единицей измерения в графической системе WPF является аппаратно-независимый пиксель, который составляет 1/96 часть дюйма независимо от фактического разрешения экрана.
- Дополнительная поддержка графики и анимации. WPF упрощает программирование графики за счет автоматического управления анимацией. Разработчик не должен заниматься обработкой сцен анимации, циклами отрисовки и билинейной интерполяцией
- Аппаратное ускорение. Графическая система WPF использует преимущества графического оборудования, чтобы уменьшить использование ЦП.
Двухмерная графика
WPF предоставляет библиотеку общих двухмерных фигур, нарисованных с помощью векторов, таких, как прямоугольники и эллипсы, а также графические пути. И в своей функциональности фигуры реализуют многие возможности, которые доступны обычным элементам управления.
Двухмерная графика в WPF включает визуальные эффекты, такие как градиенты, точечные рисунки, чертежи, рисунки с видео, поворот, масштабирование и наклон.
Трехмерная графика
WPF также включает возможности трехмерной отрисовки, интегрированные с двухмерной графикой, что позволяет создавать более яркий и интересный пользовательский интерфейс.
Windows Presentation Foundation
1 Windows Presentation Foundation
См. также в других словарях:
Windows Presentation Foundation — Entwickler Microsoft Aktuelle Version WPF 4 (12. April 2010) Betriebssystem ab Windows XP Service Pack 2 Kategorie GUI Framework … Deutsch Wikipedia
Windows Presentation Foundation — (WPF) (nom de code Avalon) est la spécification graphique de Microsoft .NET 3.0. Il intègre le langage descriptif XAML qui permet de l utiliser d une manière proche d une page HTML pour les développeurs. WPF est pré installé avec Vista. Il est… … Wikipédia en Français
Windows Presentation Foundation — This subsystem is a part of .NET Framework 3.0 Developed by Microsoft, the Windows Presentation Foundation (or WPF) is a computer software graphical subsystem for rendering user interfaces in Windows based applications. WPF, previously known as… … Wikipedia
Windows Presentation Foundation — WPF в составе .NET Framework Windows Presentation Foundation (WPF[1]) система для построения клиентских приложений Windows с визуально привлекательными возможностя … Википедия
Windows Presentation Foundation — WPF logo Windows Presentation Foundation (WPF) es una tecnología de Microsoft, presentada como parte de Windows Vista. Permite el desarrollo de interfaces de interacción en Windows tomando las mejores características de las aplicaciones Windows y … Wikipedia Español
Windows Presentation Foundation Everywhere — Microsoft Silverlight Entwickler: Microsoft Corporation Aktuelle Version: 2.0.40115.0 (18. Februar 2009) Betriebssystem: Microsoft Windows, Mac OS X … Deutsch Wikipedia
Windows Driver Foundation — Разработчик Microsoft Операционная система Windows Языки интерфейса Английский Последняя версия 1.9 Состояние Active Windows Driver Foundation (WDF) набор программных инструментов от корп … Википедия
Windows Communication Foundation — Проверить нейтральность. На странице обсуждения должны быть подробности … Википедия
Windows Workflow Foundation — WF в составе .NET Framework Windows Workflow Foundation (WF) представляет собой технологию компании Microsoft для определения, выполнения и управления рабочими процессами (англ. work … Википедия
Windows Communication Foundation — The Windows Communication Foundation (or WCF) is an application programming interface (API) in the .NET Framework for building connected, service oriented applications.[1][2] Contents 1 The architectures 1.1 Endpoints … Wikipedia
Windows Vista — Famille Microsoft Windows Type de noyau Noyau hybride État du projet Sortie et stable … Wikipédia en Français
windows presentation foundation
1 Windows Presentation Foundation
См. также в других словарях:
Windows Presentation Foundation — Entwickler Microsoft Aktuelle Version WPF 4 (12. April 2010) Betriebssystem ab Windows XP Service Pack 2 Kategorie GUI Framework … Deutsch Wikipedia
Windows Presentation Foundation — (WPF) (nom de code Avalon) est la spécification graphique de Microsoft .NET 3.0. Il intègre le langage descriptif XAML qui permet de l utiliser d une manière proche d une page HTML pour les développeurs. WPF est pré installé avec Vista. Il est… … Wikipédia en Français
Windows Presentation Foundation — This subsystem is a part of .NET Framework 3.0 Developed by Microsoft, the Windows Presentation Foundation (or WPF) is a computer software graphical subsystem for rendering user interfaces in Windows based applications. WPF, previously known as… … Wikipedia
Windows Presentation Foundation — WPF в составе .NET Framework Windows Presentation Foundation (WPF[1]) система для построения клиентских приложений Windows с визуально привлекательными возможностя … Википедия
Windows Presentation Foundation — WPF logo Windows Presentation Foundation (WPF) es una tecnología de Microsoft, presentada como parte de Windows Vista. Permite el desarrollo de interfaces de interacción en Windows tomando las mejores características de las aplicaciones Windows y … Wikipedia Español
Windows Presentation Foundation Everywhere — Microsoft Silverlight Entwickler: Microsoft Corporation Aktuelle Version: 2.0.40115.0 (18. Februar 2009) Betriebssystem: Microsoft Windows, Mac OS X … Deutsch Wikipedia
Windows Driver Foundation — Разработчик Microsoft Операционная система Windows Языки интерфейса Английский Последняя версия 1.9 Состояние Active Windows Driver Foundation (WDF) набор программных инструментов от корп … Википедия
Windows Communication Foundation — Проверить нейтральность. На странице обсуждения должны быть подробности … Википедия
Windows Workflow Foundation — WF в составе .NET Framework Windows Workflow Foundation (WF) представляет собой технологию компании Microsoft для определения, выполнения и управления рабочими процессами (англ. work … Википедия
Windows Communication Foundation — The Windows Communication Foundation (or WCF) is an application programming interface (API) in the .NET Framework for building connected, service oriented applications.[1][2] Contents 1 The architectures 1.1 Endpoints … Wikipedia
Windows Vista — Famille Microsoft Windows Type de noyau Noyau hybride État du projet Sortie et stable … Wikipédia en Français
Windows Presentation Foundation
Windows Presentation Foundation (WPF [1] ) — система для построения клиентских приложений Windows с визуально привлекательными возможностями взаимодействия с пользователем, графическая (презентационная) подсистема в составе .NET Framework (начиная с версии 3.0), использующая язык XAML [2] .
WPF предустановлена в Windows Vista(.NET Framework 3.0) и Windows 7(.NET Framework 3.5 SP1). С помощью WPF можно создавать широкий спектр как автономных, так и запускаемых в браузере приложений [3] .
Содержание
Особенности технологии
В основе WPF лежит векторная система визуализации, не зависящая от разрешения устройства вывода и созданная с учётом возможностей современного графического оборудования. WPF предоставляет средства для создания визуального интерфейса, включая язык XAML (Extensible Application Markup Language), элементы управления, привязку данных, макеты, двухмерную и трёхмерную графику, анимацию, стили, шаблоны, документы, текст, мультимедиа и оформление [3] .
Графической технологией, лежащей в основе WPF, является DirectX, в отличие от Windows Forms, где используется GDI/GDI+ [4] . Производительность WPF выше, чем у GDI+ за счёт использования аппаратного ускорения графики через DirectX.
Также существует урезанная версия CLR, называющаяся WPF/E, она же известна как Silverlight.
Использование разметки XAML
XAML представляет собой XML, в котором фактически реализованы классы .NET Framework. Также реализована модель разделения кода и дизайна, позволяющая кооперироваться программисту и дизайнеру. Кроме того, есть встроенная поддержка стилей элементов, а сами элементы легко разделить на элементы управления второго уровня, которые, в свою очередь, разделяются до уровня векторных фигур и свойств/действий. Это позволяет легко задать стиль для любого элемента, например, Button (кнопка).
Средства разработки
Для работы с WPF требуется любой .NET-совместимый язык. В этот список входит множество языков: C#, VB, C++, Ruby, Python, Delphi (Prism), Lua и многие другие. Для полноценной работы может быть использована как Visual Studio, так и Expression Blend. Первая ориентирована на программирование, а вторая — на дизайн и позволяет делать многие вещи, не прибегая к ручному редактированию XAML. Примеры этому — анимация, стилизация, состояния, создание элементов управления и так далее.
Версии
См. также
Литература
- Мэтью Мак-Дональд WPF: Windows Presentation Foundation в .NET 4.0 с примерами на C# 2010 для профессионалов = Pro WPF in C# 2010: Windows Presentation Foundation with .NET 4.0. — М .: «Вильямс», 2011. — С. 1024. — ISBN 978-5-8459-1657-0
- Кристиан Нейгел, Билл Ивьен, Джей Глинн, Карли Уотсон, Морган Скиннер C# 2005 и платформа .NET 3.0 для профессионалов = Professional C# 2005 with .NET 3.0. — М .: «Диалектика», 2007. — ISBN 978-5-8459-1317-3
- Андерсон, Крис Основы Windows Presentation Foundation. — СПб. : БХВ-Петербург, 2008. — 432 с. — ISBN 978-5-9775-0265-8
- Daniel M. Solis Illustrated WPF. — United States of America: Apress, 2009. — 508 с. — ISBN 978-1-4302-1910-1
Ссылки
Примечания
- ↑ Обычно произносится как «даб-пи-эф»
- ↑ Произносится как «замл»
- ↑ 12MSDNВведение в WPF (рус.) . Microsoft. Архивировано из первоисточника 14 февраля 2012.Проверено 15 ноября 2010.
- ↑Мэтью Мак-Дональд WPF: Windows Presentation Foundation в .NET 3.5 с примерами на C# 2008 для профессионалов = Pro WPF in C# 2008: Windows Presentation Foundation with .NET 3.5. — 2-ое. — М .: «Вильямс», 2008. — С. 25. — 928 с. — ISBN 978-5-8459-1429-3
Архитектура | Base Class Library • Common Language Infrastructure • .NET assembly • метаданные • COM Interop |
---|---|
Инфраструктура | Common Language Runtime • Common Type System • Common Intermediate Language • Virtual Execution System • Dynamic Language Runtime |
Языки Microsoft | C# • Cω • Visual Basic .NET • C++/CLI (Managed) • Visual J# • JScript .NET • Windows PowerShell • IronPython • IronRuby • F# • Spec# • Sing# |
Другие языки | A# • Boo • IronLisp • L# • Nemerle • P# • PascalABC.NET • PHP • Scala • Cobra • Delphi Prism |
Windows Foundations | Presentation • Communication • Workflow |
Компоненты | ADO.NET (Entity Framework · Data Services) · ASP.NET (AJAX · MVC · Dynamic Data) · .NET Remoting · Language Integrated Query · Windows CardSpace · Windows Forms · XAML · ClickOnce · Dynamic Language Runtime · Parallel FX Library (PLINQ · TPL) |
Реализации | DotGNU • Mono • .NET Compact Framework (Xbox 360) • .NET Micro Framework • Portable.NET • XNA Framework • Silverlight • Shared Source Common Language Infrastructure |
Сравнения | C# и Java • C# и Visual Basic .NET |
Будущие технологии | Acropolis • Jasper |
Графика | Проводник Windows • DirectX • Direct3D • GDI • Windows Presentation Foundation • Windows Color System • Windows Image Acquisition • Windows Imaging Component |
---|---|
Звук | DirectSound • DirectMusic • XACT • Speech API • MME |
Мультимедиа | DirectShow • Windows Media • Media Foundation |
Веб | MSHTML • MSXML • Платформа RSS для Windows • JScript • ActiveX • XMLHttpRequest • Гаджеты |
Доступ к данным | Компоненты Microsoft Data Access • Extensible Storage Engine • ADO.NET • Sync Framework • Jet-механизм |
Сети | Winsock (LSP) • Filtering Platform • NDIS • Windows Rally • Сервис фоновой интеллектуальой передачи данных • P2P API |
Коммуникации | TAPI |
Администрирование | Консоль Win32 • Windows Script Host • Инструментарий управления Windows • PowerShell • Планировщик задач • Offline Files • Теневое копирование • Windows Installer • Диспетчер ошибок Windows • Журнал событий Windows |
Модель компонентов | COM • COM+ • DCOM • .NET Framework |
Библиотеки | Microsoft Foundation Classes (MFC) • Active Template Library (ATL) • Windows Template Library (WTL) • Base Class Library (BCL) |
Разработка драйверов | Windows Driver Model • Windows Driver Foundation (KMDF • UMDF) |
Безопасность | CryptoAPI (CAPICOM) • Windows CardSpace • Data protection API • Security Support Provider Interface |
.NET | .NET Framework • ASP.NET • ADO.NET • .NET Remoting • Windows Presentation Foundation • Windows Workflow Foundation • Windows Communication Foundation • Windows CardSpace • XNA Framework • Silverlight • Библиотека параллельного программирования |
Межпроцессное взаимодействие | Dynamic Data Exchange (DDE) • MSRPC • Именованные каналы |
Текст и поддержка языков | Framework Текстовых сервисов • Объектная модель текстов • Редактор метода ввода • Языковые пакеты • Многоязычный интерфейс |
Игры | XNA Framework • DirectX |
Низко- уровневые | |||
---|---|---|---|
Кросс- платфор- менные |
|
Графика | Desktop Window Manager · Direct2D · Direct3D (extensions) · GDI / GDI+ · WPF · Windows Color System · Windows Image Acquisition · Windows Imaging Component |
---|---|
Аудио | DirectMusic · DirectSound · DirectX plugin · XACT · Speech API · XAudio2 |
Мультимедиа | DirectX (Media Objects · Video Acceleration) · DirectInput · DirectShow · Image Mastering API · Managed DirectX · Media Foundation · XNA · Windows Media · Video for Windows |
Web | MSHTML · RSS Platform · JScript · VBScript · BHO · XDR · SideBar Gadgets |
Доступ к данным | Data Access Components · Extensible Storage Engine · ADO.NET · ADO.NET Entity Framework · Sync Framework · Jet Engine · MSXML · OLE DB · OPC |
Сеть | Winsock (LSP) · Winsock Kernel · Filtering Platform · Network Driver Interface Specification · Windows Rally · BITS · P2P API · MSMQ · MS MPI · DirectPlay |
Коммуникации | Messaging API · Telephony API · WCF |
Win32 console · Windows Script Host · WMI (extensions) · PowerShell · Task Scheduler · Offline Files · Shadow Copy · Windows Installer · Error Reporting · Event Log · Common Log File System | |
Компонентная модель | COM · COM+ · ActiveX · Distributed Component Object Model · .NET Framework |
Библиотеки | Base Class Library (BCL) · Microsoft Foundation Classes (MFC) · Active Template Library (ATL) · Windows Template Library (WTL) |
Драйверы устройств | Windows Driver Model · Windows Driver Foundation (KMDF · UMDF) · WDDM · NDIS · UAA · Broadcast Driver Architecture · VxD |
Безопасность | Crypto API (CAPICOM) · Windows CardSpace · Data Protection API · Security Support Provider Interface (SSPI) |
.NET | ASP.NET · ADO.NET · Base Class Library (BCL) · Remoting · Silverlight · TPL · WCF · WCS · WPF · WF |
Программное обеспечение | EFx Factory · Enterprise Library · Composite UI · CCF · CSF |
IPC | MSRPC · Dynamic Data Exchange (DDE) · Remoting · WCF |
Доступность | Active Accessibility · UI Automation |
DirectWrite · Text Services Framework · Text Object Model · Input method editor · Language Interface Pack · Multilingual User Interface · Uniscribe |
Wikimedia Foundation . 2010 .
Смотреть что такое «Windows Presentation Foundation» в других словарях:
Windows Presentation Foundation — Entwickler Microsoft Aktuelle Version WPF 4 (12. April 2010) Betriebssystem ab Windows XP Service Pack 2 Kategorie GUI Framework … Deutsch Wikipedia
Windows Presentation Foundation — (WPF) (nom de code Avalon) est la spécification graphique de Microsoft .NET 3.0. Il intègre le langage descriptif XAML qui permet de l utiliser d une manière proche d une page HTML pour les développeurs. WPF est pré installé avec Vista. Il est… … Wikipédia en Français
Windows Presentation Foundation — This subsystem is a part of .NET Framework 3.0 Developed by Microsoft, the Windows Presentation Foundation (or WPF) is a computer software graphical subsystem for rendering user interfaces in Windows based applications. WPF, previously known as… … Wikipedia
Windows Presentation Foundation — WPF logo Windows Presentation Foundation (WPF) es una tecnología de Microsoft, presentada como parte de Windows Vista. Permite el desarrollo de interfaces de interacción en Windows tomando las mejores características de las aplicaciones Windows y … Wikipedia Español
Windows Presentation Foundation Everywhere — Microsoft Silverlight Entwickler: Microsoft Corporation Aktuelle Version: 2.0.40115.0 (18. Februar 2009) Betriebssystem: Microsoft Windows, Mac OS X … Deutsch Wikipedia
Windows Driver Foundation — Разработчик Microsoft Операционная система Windows Языки интерфейса Английский Последняя версия 1.9 Состояние Active Windows Driver Foundation (WDF) набор программных инструментов от корп … Википедия
Windows Communication Foundation — Проверить нейтральность. На странице обсуждения должны быть подробности … Википедия
Windows Workflow Foundation — WF в составе .NET Framework Windows Workflow Foundation (WF) представляет собой технологию компании Microsoft для определения, выполнения и управления рабочими процессами (англ. work … Википедия
Windows Communication Foundation — The Windows Communication Foundation (or WCF) is an application programming interface (API) in the .NET Framework for building connected, service oriented applications.[1][2] Contents 1 The architectures 1.1 Endpoints … Wikipedia
Windows Vista — Famille Microsoft Windows Type de noyau Noyau hybride État du projet Sortie et stable … Wikipédia en Français