
- •Введение в wpf
- •Разметка
- •Код программной части
- •Автономные приложения
- •Приложения, размещенные в браузере
- •Класс приложения
- •Безопасность
- •Элементы управления wpf по функциям
- •Двухмерные формы
- •Двухмерная геометрия
- •Двухмерные эффекты
- •Трехмерная визуализация
- •Изображения
- •Видео и аудио
- •Документы нефиксированного формата
- •Документы фиксированного формата
- •Документы xps
- •Заметки
- •Упаковка
- •Модель содержимого
- •Триггеры
- •Шаблоны элементов управления
- •Шаблоны данных
- •Ресурсы
- •Темы и обложки
- •Пользовательские элементы управления
- •Разделы общих сведений
- •Примеры
- •Основные понятия
- •Архитектура wpf
- •Основные понятия
- •Новые возможности wpf версии 4
- •Основные понятия
- •Объектные элементы xaml
- •Синтаксис атрибутов (свойства)
- •Синтаксис элемента свойства
- •Синтаксис коллекции
- •Свойства содержимого xaml
- •Текстовое содержимое
- •Объединение свойств содержимого и синтаксиса коллекции
- •Синтаксис атрибутов (события)
- •Префикс "X:"
- •Маршрутизируемые события
- •Основные понятия
- •Другие ресурсы
- •Изменение значения свойства элемента управления
- •Создание стиля для элемента управления
- •Создание ControlTemplate
- •Основные понятия
- •Другие ресурсы
- •Двухмерные формы
- •Двухмерная геометрия
- •Двухмерные эффекты
- •Изображения
- •Видео и аудио
- •Основные понятия
- •Другие ресурсы
- •Направление потока данных
- •Что инициирует обновления источника
- •Указание источника привязки
- •Указание пути к значению
- •Связывание и выражение привязки
- •Способы реализации коллекций
- •Представления коллекций
- •Понятие о представлениях коллекций
- •Создание представления
- •Использование представления по умолчанию
- •Использование представлений коллекций с таблицами данных ado.Net
- •Сортировка
- •Фильтрация
- •Группировка
- •Указатели на текущий элемент
- •Скрипт привязки "основной/подробности"
- •Связь проверочных правил и привязки
- •Предоставление визуального отклика
- •Процесс проверки
- •Основные понятия
- •Другие ресурсы
Основные понятия
Общие сведения о связывании данных
Система макета
Общие сведения об эффектах анимации
Новые возможности wpf версии 4
.NET Framework 4.5
.NET Framework 3.5
3 из 4 оценили этот материал как полезный - Оценить эту тему
В этой теме содержатся сведения о новых и дополнительных возможностях в Windows Presentation Foundation (WPF) версии 4.
В этом разделе содержатся следующие подразделы.
Новые элементы управления
Диспетчер визуальных состояний
Сенсорный ввод и манипуляции
Графика и анимация
Текст
Привязка
Приложения браузера XAML
WPF и Windows
Конструктор WPF и Silverlight
Новые
элементы управления
В WPF добавлены три новых элемента управления, облегчающих создание коммерческих приложений.Эти элементы управления почти на 100 процентов совместимы с версиями Silverlight.Это дает разработчикам возможность повторно использовать код и быстро создавать клиентские версии и Интернет-версии.
DataGrid
Calendar
DatePicker
Диспетчер визуальных состояний
WPF
обеспечивает улучшенную поддержку
изменения визуальных состояний в шаблоне
ControlTemplate.
Добавлены класс VisualStateManager
и вспомогательные классы, чтобы
предоставить возможность использования
таких средств, как Microsoft Expression Blend, для
определения внешнего вида элемента
управления в соответствии с его визуальным
состоянием.Например, можно определить
внешний вид элемента управления Button,
когда он находится в состоянии
Pressed
.Дополнительные
сведения о создании шаблона ControlTemplate,
который использует VisualStateManager
для существующего элемента управления,
см. в разделе Настройка
внешнего вида существующего элемента
управления путем создания объекта
ControlTemplate.Сведения
о создании нового элемента управления,
который использует VisualStateManager,
см. в разделе Создание
элемента управления с настраиваемым
внешним видом.
|
Элементы могут воспользоваться преимуществом VisualStateManager вне шаблона ControlTemplate с помощью метода GoToElementState. |
Сенсорный ввод и манипуляции
Элементы в WPF теперь принимают сенсорный ввод.Классы UIElement, UIElement3D и ContentElement предоставляют события, которые возникают, когда пользователь касается элемента на сенсорном экране. Помимо событий сенсорного ввода, класс UIElement поддерживает манипуляцию.Манипуляцией называется масштабирование, циклический сдвиг или трансляция UIElement.Например, приложение для просмотра фотографий может разрешать пользователям перемещать, увеличивать, изменять размер и циклически сдвигать фотографию путем касания экрана в области фотографии.Дополнительные сведения о сенсорном вводе см. в разделах Пошаговое руководство. Создание первого приложения для обработки касаний и Общие сведения о входных данных.
Графика и анимация
Некоторые изменения также коснулись графики и анимации.
Округление макета
Когда положение границы попадает в середину пикселя устройства, система графики, не зависящая от разрешения, может создавать эффекты визуализации, такие как смазанные или полупрозрачные границы.В предыдущих версиях WPF для обработки таких случаев была предусмотрена привязка пикселей.В Silverlight 2 появилось округление макета, являющееся другим способом перемещения элементов, чтобы границы попадали между пикселями.Теперь WPF поддерживает округление макета с помощью свойства UseLayoutRounding, подключенного к элементу FrameworkElement.
Кэшированная композиция
С помощью новых классов BitmapCache и BitmapCacheBrush можно кэшировать составную часть визуального дерева как растровое изображение и значительно уменьшить время визуализации.Растровое изображение продолжает реагировать на пользовательский ввод, такой как щелчок кнопкой мыши, и его можно изобразить на других элементах, как любую кисть.
Поддержка построителя текстуры 3
WPF 4 строится на основе поддержки ShaderEffect, введенной в WPF 3.5 с пакетом обновления 1 путем разрешения приложениям записывать эффекты с помощью построителя текстуры (PS) версии 3.0.Модель построителя текстуры версии 3.0 более сложная, чем построитель текстуры версии 2.0, что позволяет использовать гораздо больше эффектов на поддерживаемом оборудовании.
Функции плавности
Можно усовершенствовать анимацию с помощью функции плавности, что дает дополнительный контроль поведения анимации.Например, можно применить ElasticEase к анимации, чтобы придать анимации быстроту.Дополнительные сведения см. в документации, посвященной типам плавности в пространстве имен System.Windows.Media.Animation.
Текст
Некоторые изменения также коснулись текста.
Новый стек визуализации текста
Стек визуализации текста WPF был полностью заменен.Это изменение усовершенствовало настраиваемость, ясность и многоязыковую поддержку визуализации текста.Новый стек текста теперь поддерживает явный выбор смешанных, черно-белых или ClearType режимов визуализации.Стек текста теперь также поддерживает символьный макет, оптимизированный для отображения, для создания текста, четко сравниваемого с текстом Win32/GDI.Новый стек текста позволяет оптимизирующие текст подсказки и привязку как для анимированного, так и для статичного текста.Новый стек текста также поддерживает подстановку шрифтов с внедренными растровыми изображениями для уменьшения размеров шрифтов, что позволяет отрисовывать многие восточноазиатские шрифты с четкостью, сравнимой с четкостью текста Win32/GDI.
Настройка выделения и курсора
Теперь можно задавать кисть, рисующую выделение и курсор для элементов управления, предназначенных для ввода и чтения, таких как TextBoxRichTextBox и FlowDocumentReader.В TextBoxBase появились два новых свойства:
SelectionBrush, которое позволяет создавать кисть для выделения выбранного текста;
CaretBrush, которое позволяет изменить кисть, рисующую курсор.
Привязка
Некоторые изменения и усовершенствования также коснулись привязки.
Привязка к командам в InputBinding
Можно привязать свойство Command класса InputBinding к экземпляру, заданному в коде.Следующие свойства являются свойствами зависимостей, поэтому они могут быть целями привязки:
InputBinding.Command
InputBinding.CommandParameter
InputBinding.CommandTarget
KeyBinding.Key
KeyBinding.Modifiers
MouseBinding.MouseAction
Классы InputBinding, MouseBinding и KeyBinding получают контекст данных от владельца FrameworkElement.
Привязка к динамическим объектам
WPF поддерживает привязку данных к объектам, реализующим IDynamicMetaObjectProvider.Например, если создать динамический объект, наследующий от DynamicObject в коде, можно будет использовать расширение разметки для привязки к этому объекту в XAML.Дополнительные сведения см. в разделе Общие сведения об источниках привязки.
Текстовая цепочка с возможностью привязки
Свойство Run.Text теперь является свойством зависимостей.Основное преимущество состоит в том, что теперь это свойство поддерживает односторонние привязки.Оно также поддерживает другие функции свойств зависимостей, такие как использование стилей и шаблонов.
Приложения браузера XAML
В XAML browser applications (XBAPs) добавлены две функции.
Взаимодействие скриптов HTML-XBAP
Теперь можно взаимодействовать с веб-страницей, содержащей XBAP, когда приложение находится во фрейме HTML.XBAP может получать глубокий доступ к доменной объектной модели (DOM) HTML и может обрабатывать события DOM.Дополнительные сведения см. в разделе BrowserInteropHelper.HostScript.
Развертывание XBAP с полным доверием
Если XBAP необходимо полное доверие, то пользователь теперь автоматически получает стандартный запрос на повышение ClickOnce при установке приложения из интрасети или с одного из надежных сайтов браузера.
Дополнительные сведения об этих функциях см. в разделе Общие сведения о приложениях браузера WPF XAML.
WPF и Windows
Панель задач Windows 7 предоставляет улучшенную функциональность, позволяющую использовать кнопку панели задач для передачи состояния пользователю и предоставления общих задач.Новые типы в пространстве имен System.Windows.Shell предоставляют программы-оболочки для функциональности в панели задач Windows 7 и управляют данными, переданными в оболочку Windows.Например, тип JumpList позволяет работать со списками переходов, а тип TaskbarItemInfo – с эскизами панели задач.
Диалоговые окна WPF в Windows 7 и в Windows Vista теперь поддерживают внешний вид стилей Windows 7 и Windows Vista, включая пользовательские размещения.Дополнительные сведения см. в описании класса FileDialogCustomPlace.
Конструктор WPF и Silverlight
В Visual Studio 2010 внесены значительные усовершенствования конструктора, помогающие создавать приложения WPF и Silverlight.
Улучшенная поддержка Silverlight
В Visual Studio 2008 можно было устанавливать инструменты Silverlight для создания приложений Silverlight в Visual Studio.Однако поддержка конструктора для проектов Silverlight была ограничена.В Visual Studio 2010 поддержка конструктора для проектов Silverlight и WPF одинакова.Например, в проектах Silverlight теперь можно выбирать и располагать элементы в рабочей области конструирования с помощью мыши.
Поддержка многоплатформенных версий
Элементы управления времени разработки в Visual Studio 2008 были ориентированы только на последнюю версию платформы WPF.В Visual Studio 2010 поддержка распространена на несколько платформ, включая поддержку времени разработки для WPF 3.5, WPF 4, Silverlight 3, Silverlight 4 и будущих выпусков платформы.Поскольку для всех этих платформ используется один и тот же API расширяемости, то автор элементов управления времени разработки может легко написать одно решение и использовать его в средах выполнения элементов управления всех платформ.
Визуальная привязка данных
Новый построитель привязки данных позволяет визуальное построение и изменение привязок без ввода XAML.
Автоматическая разметка
Усовершенствования разметки включают более понятный конструктор Grid и улучшенную поддержку автоматического изменения размеров пользовательских элементов управления.
Усовершенствование редактирования свойства
Окно свойств теперь включает возможность визуального создания и изменения ресурсов Brush.
Дополнительные сведения см. в разделе Конструктор WPF.
См. также