Отличие wpf от windows form

Сопоставление свойств Windows Forms и WPF Windows Forms and WPF Property Mapping

Windows Forms и WPF WPF технологии имеют две аналогичные, но разные модели свойств. The Windows Forms and WPF WPF technologies have two similar but different property models. Сопоставление свойств поддерживает взаимодействие между двумя архитектурами и предоставляет следующие возможности: Property mapping supports interoperation between the two architectures and provides the following capabilities:

Позволяет легко сопоставлять соответствующие изменения свойств в среде размещения с размещаемым элементом управления или элементом. Makes it easy to map relevant property changes in the host environment to the hosted control or element.

Обеспечивает обработку по умолчанию для сопоставления наиболее часто используемых свойств. Provides default handling for mapping the most commonly used properties.

Позволяет легко удалять, переопределять или расширять свойства по умолчанию. Allows easy removal, overriding, or extending of default properties.

Гарантирует, что изменения значений свойств на узле автоматически обнаруживаются и преобразуются в размещенный элемент управления или элемент. Ensures that property value changes on the host are automatically detected and translated to the hosted control or element.

События изменения свойства не распространяются на элемент управления размещения или иерархию элементов. Property-change events are not propagated up the hosting control or element hierarchy. Перевод свойства не выполняется, если локальное значение свойства не меняется из-за прямого задания, стилей, наследования, привязки данных или других механизмов, изменяющих значение свойства. Property translation is not performed if the local value of a property does not change because of direct setting, styles, inheritance, data binding, or other mechanisms that change the value of the property.

Используйте PropertyMap свойство WindowsFormsHost элемента и PropertyMap свойство ElementHost элемента управления для доступа к сопоставлению свойств. Use the PropertyMap property on the WindowsFormsHost element and the PropertyMap property on ElementHost control to access property mapping.

Сопоставление свойств с элементом WindowsFormsHost Property Mapping with the WindowsFormsHost Element

WindowsFormsHostЭлемент преобразует свойства по умолчанию WPF WPF в их Windows Forms эквиваленты с помощью следующей таблицы преобразования. The WindowsFormsHost element translates default WPF WPF properties to their Windows Forms equivalents using the following translation table.

Размещение Windows Presentation Foundation Windows Presentation Foundation hosting Windows Forms Windows Forms Поведение взаимодействия Interoperation behavior
Background

(System.Drawing.Color) (System.Drawing.Color)

WindowsFormsHostЭлемент задает BackColor свойство размещенного элемента управления и BackgroundImage свойство размещенного элемента управления. The WindowsFormsHost element sets the BackColor property of the hosted control and the BackgroundImage property of the hosted control. Сопоставление выполняется с помощью следующих правил. Mapping is performed by using the following rules:

— Если Background является сплошным цветом, он преобразуется и используется для задания BackColor свойства размещаемого элемента управления. — If Background is a solid color, it is converted and used to set the BackColor property of the hosted control. BackColorСвойство не задано для размещенного элемента управления, поскольку размещаемый элемент управления может наследовать значение BackColor Свойства. The BackColor property is not set on the hosted control, because the hosted control can inherit the value of the BackColor property. Примечание. Размещенный элемент управления не поддерживает прозрачность. Note: The hosted control does not support transparency. Любой цвет, назначенный BackColor , должен быть полностью непрозрачным с альфа-значением 0xFF. Any color assigned to BackColor must be fully opaque, with an alpha value of 0xFF.

— Если не Background является сплошным цветом, WindowsFormsHost элемент управления создает точечный рисунок из Background Свойства. — If Background is not a solid color, the WindowsFormsHost control creates a bitmap from the Background property. WindowsFormsHostЭлемент управления присваивает это изображение BackgroundImage свойству размещаемого элемента управления. The WindowsFormsHost control assigns this bitmap to the BackgroundImage property of the hosted control. Это дает эффект, аналогичный прозрачности. This provides an effect which is similar to transparency. Примечание. Это поведение можно переопределить, или можно удалить Background сопоставление свойства. Note: You can override this behavior or you can remove the Background property mapping.

Cursor Cursor Если сопоставление по умолчанию не было переназначено, WindowsFormsHost Управление проходит по иерархии предков до тех пор, пока не найдет предка с Cursor установленным свойством. If the default mapping has not been reassigned, WindowsFormsHost control traverses its ancestor hierarchy until it finds an ancestor with its Cursor property set. Это значение преобразуется в ближайшее соответствующее Windows Forms курсоре. This value is translated to the closest corresponding Windows Forms cursor.

Если сопоставление по умолчанию для ForceCursor свойства не было переназначено, обход для первого предка останавливается с параметром ForceCursor true . If the default mapping for the ForceCursor property has not been reassigned, the traversal stops on the first ancestor with ForceCursor set to true .

FlowDirection

(System.Windows.Forms.RightToLeft) (System.Windows.Forms.RightToLeft)

LeftToRight сопоставляется с No. LeftToRight maps to No.

Inherit не сопоставлен. Inherit is not mapped.

FlowDirection.RightToLeft сопоставляется с RightToLeft.Yes. FlowDirection.RightToLeft maps to RightToLeft.Yes.

FontStyle Style для размещенного элемента управления System.Drawing.Font Style on the hosted control’s System.Drawing.Font Набор WPF WPF свойств преобразуется в соответствующий объект Font . The set of WPF WPF properties is translated into a corresponding Font. При изменении одного из этих свойств Font создается новое. When one of these properties changes, a new Font is created. Для Normal : Italic отключено. For Normal: Italic is disabled. Для Italic или Oblique : Italic включен. For Italic or Oblique: Italic is enabled.
FontWeight Style для размещенного элемента управления System.Drawing.Font Style on the hosted control’s System.Drawing.Font Набор WPF WPF свойств преобразуется в соответствующий объект Font . The set of WPF WPF properties is translated into a corresponding Font. При изменении одного из этих свойств Font создается новое. When one of these properties changes, a new Font is created. Для Black , Bold , DemiBold , ExtraBold , Heavy , Medium , SemiBold или UltraBold : Bold включено. For Black, Bold, DemiBold, ExtraBold, Heavy, Medium, SemiBold, or UltraBold: Bold is enabled. Для ExtraLight , Light , Normal , Regular , Thin или UltraLight : Bold отключено. For ExtraLight, Light, Normal, Regular, Thin, or UltraLight: Bold is disabled.
FontFamily

(System.Drawing.Font) (System.Drawing.Font)

Набор WPF WPF свойств преобразуется в соответствующий объект Font . The set of WPF WPF properties is translated into a corresponding Font. При изменении одного из этих свойств Font создается новое. When one of these properties changes, a new Font is created. Размер размещаемого элемента управления Windows Forms изменяется в зависимости от размера шрифта. The hosted Windows Forms control resizes based on the font size.

Размер шрифта в WPF WPF выражается в виде одной девяноста-шестой дюйма, а в Windows Forms Севенти дюйма. Font size in WPF WPF is expressed as one ninety-sixth of an inch, and in Windows Forms as one seventy-second of an inch. Соответствующее преобразование: The corresponding conversion is:

Windows Forms размер шрифта = WPF WPF Размер шрифта * 72,0/96,0. Windows Forms font size = WPF WPF font size * 72.0 / 96.0.

Foreground

(System.Drawing.Color) (System.Drawing.Color)

ForegroundСопоставление свойств выполняется с помощью следующих правил. The Foreground property mapping is performed by using the following rules:

Если Foreground параметр имеет значение SolidColorBrush , используется Color для ForeColor . — If Foreground is a SolidColorBrush, use Color for ForeColor.
Если Foreground параметр имеет значение GradientBrush , используйте цвет GradientStop с наименьшим значением смещения для ForeColor . — If Foreground is a GradientBrush, use the color of the GradientStop with the lowest offset value for ForeColor.
— Для любого другого Brush типа оставьте без ForeColor изменений. — For any other Brush type, leave ForeColor unchanged. Это означает, что используется значение по умолчанию. This means the default is used.

IsEnabled Enabled Если IsEnabled задано, WindowsFormsHost элемент задает Enabled свойство размещаемого элемента управления. When IsEnabled is set, WindowsFormsHost element sets the Enabled property on the hosted control.
Padding Padding Всем четырем значениям Padding Свойства на размещенном элементе управления Windows Forms присваивается одно и то же Thickness значение. All four values of the Padding property on the hosted Windows Forms control are set to the same Thickness value.

-Значения больше MaxValue имеют значение MaxValue . — Values greater than MaxValue are set to MaxValue.
— Значения меньше MinValue , чем, устанавливаются в значение MinValue . — Values less than MinValue are set to MinValue.

Visibility Visible — Visibleсопоставляется с Visible = true . — Visible maps to Visible = true . Размещенный элемент управления Windows Forms является видимым. The hosted Windows Forms control is visible. Явное присвоение Visible свойству размещенного элемента управления значение не false рекомендуется. Explicitly setting the Visible property on the hosted control to false is not recommended.
— Collapsedсопоставляется с Visible = true или false . — Collapsed maps to Visible = true or false . Размещенный элемент управления Windows Forms не рисуется, и его область сворачивается. The hosted Windows Forms control is not drawn, and its area is collapsed.
— Hidden : Размещенный элемент управления Windows Forms занимает место в макете, но не является видимым. — Hidden : The hosted Windows Forms control occupies space in the layout, but is not visible. В этом случае Visible свойство имеет значение true . In this case, the Visible property is set to true . Явное присвоение Visible свойству размещенного элемента управления значение не false рекомендуется. Explicitly setting the Visible property on the hosted control to false is not recommended.

Вложенные свойства элементов контейнера полностью поддерживаются WindowsFormsHost элементом. Attached properties on container elements are fully supported by the WindowsFormsHost element.

Обновления свойств родительского элемента Updates to Parent Properties

Изменения большинства родительских свойств приводят к размещению уведомлений в размещаемом дочернем элементе управления. Changes to most parent properties cause notifications to the hosted child control. В следующем списке описываются свойства, которые не вызывают уведомления при изменении их значений. The following list describes properties which do not cause notifications when their values change.

Например, если изменить значение Background свойства WindowsFormsHost элемента, BackColor свойство размещенного элемента управления не изменится. For example, if you change the value of the Background property of the WindowsFormsHost element, the BackColor property of the hosted control does not change.

Сопоставление свойств с элементом управления ElementHost Property Mapping with the ElementHost Control

Следующие свойства предоставляют встроенные уведомления об изменениях. The following properties provide built-in change notification. Не вызывайте OnPropertyChanged метод при сопоставлении этих свойств: Do not call the OnPropertyChanged method when you are mapping these properties:

Windows Presentation Foundation. Обзор (Часть 1)

Одним из лучших вариантов для создания приложений для ОС Windows является технология WPF. Благодаря новой графической системе (относительно WinForm) появились стили, улучшенная система привязки, шаблоны элементов управления. Подробнее об этой технологии в этой статье.

Что это?

Windows Presentation Foundation (WPF) — аналог WinForms, система для построения клиентских приложений Windows с визуально привлекательными возможностями взаимодействия с пользователем, графическая (презентационная) подсистема в составе .NET Framework (начиная с версии 3.0), использующая язык XAML.

В WPF предустановлена в Windows Vista и выше. С помощью WPF можно создавать широкий спектр как автономных, так и запускаемых в браузере приложений.

Особенности

В основе WPF лежит векторная система визуализации, не зависящая от разрешения устройства вывода и созданная с учётом возможностей современного графического оборудования. WPF предоставляет средства для создания визуального интерфейса, включая язык XAML (eXtensible Application Markup Language), элементы управления, привязку данных, макеты, двухмерную и трёхмерную графику, анимацию, стили, шаблоны, документы, текст, мультимедиа и оформление.

Графической технологией, лежащей в основе WPF, является DirectX, в отличие от Windows Forms, где используется GDI/GDI+. Производительность WPF выше, чем у GDI+ за счёт использования аппаратного ускорения графики через DirectX.

Также существует урезанная версия CLR, называющаяся WPF/E, она же известна как Silverlight.

Разметка XAML

XAML представляет собой язык декларативного описания интерфейса, основанный на XML. Также реализована модель разделения кода и дизайна, позволяющая кооперироваться программисту и дизайнеру. Кроме того, есть встроенная поддержка стилей элементов, а сами элементы легко разделить на элементы управления второго уровня, которые, в свою очередь, разделяются до уровня векторных фигур и свойств/действий. Это позволяет легко задать стиль для любого элемента.

Графика

WPF представляет обширный, масштабируемый и гибкий набор графических возможностей:

  • Графика, не зависящая от разрешения и устройства. Основной единицей измерения в графической системе WPF является аппаратно-независимый пиксель, который составляет 1/96 часть дюйма независимо от фактического разрешения экрана.
  • Дополнительная поддержка графики и анимации. WPF упрощает программирование графики за счет автоматического управления анимацией. Разработчик не должен заниматься обработкой сцен анимации, циклами отрисовки и билинейной интерполяцией
  • Аппаратное ускорение. Графическая система WPF использует преимущества графического оборудования, чтобы уменьшить использование ЦП.

WPF предоставляет библиотеку общих двухмерных фигур, нарисованных с помощью векторов, таких, как прямоугольники и эллипсы, а также графические пути. И в своей функциональности фигуры реализуют многие возможности, которые доступны обычным элементам управления.

Двухмерная графика в WPF включает визуальные эффекты, такие как градиенты, точечные рисунки, чертежи, рисунки с видео, поворот, масштабирование и наклон.

WPF также включает возможности трехмерной отрисовки, интегрированные с двухмерной графикой, что позволяет создавать более яркий и интересный пользовательский интерфейс.

Обновленный Windows Forms — WPF, предоставляет все необходимые инструменты для упрощенной работы с интерфейсом. Минусом является больший вес приложений, однако плюсов больше. С WPF можно реализовывать ещё больше абстрагированного функционала, реализовывать паттерны разграничения логики и интерфейса.

Читайте также:  Как начать установку линукс
Оцените статью