Show / Hide Table of Contents

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

Windows Forms И WPF технологий есть две модели похожие, но разные свойства. Сопоставление свойств поддерживает взаимодействие между этими двумя архитектурами и предоставляет следующие возможности:

  • Упрощает сопоставление изменений соответствующего свойства в среде узла для размещаемого элемента управления или элемента.

  • Предоставляет значение по умолчанию для сопоставления наиболее часто используемые свойства.

  • Позволяет легко удалять, переопределять или расширять свойств по умолчанию.

  • Гарантирует, что изменения значений свойств на узле автоматически обнаруживаются и преобразованный в размещенный элемент управления или элемент.

Note

События изменения свойств не распространяются вверх размещения элемента управления или элемент иерархии. Преобразование свойства выполняется не в том случае, если локальное значение свойства не будет изменяться из-за прямую настройку, Управление стилями, наследования, привязки данных и другие механизмы, которые изменяют значение свойства.

Используйте PropertyMap свойство WindowsFormsHost элемент и PropertyMap свойство ElementHost элемента управления для доступа к сопоставление свойств.

Сопоставление свойств с помощью элемента WindowsFormsHost

WindowsFormsHost Элемент преобразует значение по умолчанию WPF свойства, чтобы их Windows Forms эквиваленты, с помощью следующей таблицы преобразования.

Размещение Windows Presentation Foundation Windows Forms Возможности взаимодействия
Background

(System.Windows.Media.Brush)
BackColor

(System.Drawing.Color)
WindowsFormsHost Наборов элементов BackColor свойств размещаемого элемента управления и BackgroundImage свойств размещаемого элемента управления. Сопоставление выполняется с помощью следующих правил:

Если Background представляет собой сплошной цвет, он преобразуется и используемый для задания BackColor свойств размещаемого элемента управления. BackColor Свойство не задано размещаемого элемента управления, поскольку размещаемый элемент управления может наследовать значение BackColor свойства. Примечание. Размещаемый элемент управления не поддерживает прозрачность. Любой цвет, назначенный BackColor должен быть полностью непрозрачным, со значением альфа 0xFF.

Если Background не сплошным цветом, WindowsFormsHost элемент управления создает точечный рисунок из Background свойство. WindowsFormsHost Управления назначает этой битовой карты для BackgroundImage свойств размещаемого элемента управления. Это дает результат, который аналогичен прозрачности. Примечание. Это поведение можно переопределить или удалением Background сопоставление свойств.
Cursor Cursor Если не была переназначена сопоставление по умолчанию, WindowsFormsHost управления проходит по иерархии предков, пока не найдет узел-предок с его Cursor набор свойств. Это значение преобразуется в ближайший соответствующий Windows Forms курсора.

Если сопоставление по умолчанию для ForceCursor свойство не было назначено заново, поиск завершается на первого предка с ForceCursor присвоено true.
FlowDirection

(System.Windows.FlowDirection)
RightToLeft

(System.Windows.Forms.RightToLeft)
LeftToRight сопоставляется No.

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

Inherit не сопоставлен.

FlowDirection.RightToLeft сопоставляется RightToLeft.Yes.
FontStyle Style размещаемого элемента управления System.Drawing.Font Набор WPF свойства преобразуется в соответствующий Font. При изменении одного из этих свойств, новый Font создается. Для Normal: Italic отключена. Для Italic или Oblique: Italic включен.
FontWeight Style размещаемого элемента управления System.Drawing.Font Набор WPF свойства преобразуется в соответствующий Font. При изменении одного из этих свойств, новый Font создается. Для Black, Bold, DemiBold, ExtraBold, Heavy, Medium, SemiBold, или UltraBold: Bold включен. Для ExtraLight, Light, Normal, Regular, Thin, или UltraLight: Bold отключена.
FontFamily

FontSize

FontStretch

FontStyle

FontWeight
Font

(System.Drawing.Font)
Набор WPF свойства преобразуется в соответствующий Font. При изменении одного из этих свойств, новый Font создается. Размещаемый Windows Forms элемент управления на основе размера шрифта.

Размер шрифта в WPF выражается как одну девяносто шестую дюйма, а в Windows Forms как одна секунда семьдесят дюйма. Является соответствующее преобразование:

Windows Forms размер шрифта = WPF размер шрифта * 72,0 / 96,0.
Foreground

(System.Windows.Media.Brush)
ForeColor

(System.Drawing.Color)
Foreground Сопоставление свойств выполняется с помощью следующих правил:

Если Foreground — SolidColorBrush, использовать Color для ForeColor.
Если Foreground — GradientBrush, использование цвета GradientStop с наименьшим значением смещения для ForeColor.
— Для любого другого Brush введите, оставьте ForeColor без изменений. Это означает, что используется значение по умолчанию.
IsEnabled Enabled Когда IsEnabled имеет значение, WindowsFormsHost наборов элементов Enabled свойств размещаемого элемента управления.
Padding Padding Все четыре значения Padding свойство размещаемого Windows Forms управления устанавливаются на тот же Thickness значение.

-Значения, превышающие MaxValue присваивается MaxValue.
-Значения меньше, чем MinValue присваивается MinValue.
Visibility Visible - Visible сопоставляется Visible = true. Размещаемый Windows Forms элемент управления является видимым. Явная установка Visible свойств размещаемого элемента управления к false не рекомендуется.
- Collapsed сопоставляется Visible = true или false. Размещаемый Windows Forms элемент управления не создается, и его область свернута.
- Hidden : Размещаемый Windows Forms управления занимает место в макете, но не отображается. В этом случае Visible свойству true. Явная установка Visible свойств размещаемого элемента управления к false не рекомендуется.

Вложенные свойства элементов контейнера полностью поддерживаются WindowsFormsHost элемент.

Дополнительные сведения см. в разделе Пошаговое руководство: Сопоставление свойств с помощью элемента WindowsFormsHost.

Обновление свойств родительского элемента

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

  • Background

  • Cursor

  • ForceCursor

  • Visibility

Например, если изменить значение Background свойство WindowsFormsHost элемент, BackColor свойств размещаемого элемента управления остается неизменным.

Сопоставление свойств с помощью элемента управления ElementHost

Следующие свойства предоставляют встроенные уведомления об изменении. Не вызывайте OnPropertyChanged метод при сопоставлении этих свойств:

  • AutoSize

  • BackColor

  • BackgroundImage

  • BackgroundImageLayout

  • BindingContext

  • CausesValidation

  • ContextMenu

  • ContextMenuStrip

  • Курсор

  • Закрепить

  • Включено

  • Шрифт

  • ForeColor

  • Расположение

  • Поля

  • Заполнение

  • Родительский

  • Region

  • RightToLeft

  • Размер

  • TabIndex

  • TabStop

  • Текста

  • Видимый

ElementHost Управления преобразует значение по умолчанию Windows Forms свойства, чтобы их WPF эквиваленты с помощью следующей таблицы преобразования.

Дополнительные сведения см. в разделе Пошаговое руководство: Сопоставление свойств с помощью элемента управления ElementHost.

Windows Forms размещения Windows Presentation Foundation Возможности взаимодействия
BackColor

(System.Drawing.Color)
Background

(System.Windows.Media.Brush) размещаемого элемента
Задание этого свойства принудительно перекрашивает с ImageBrush. Если BackColorTransparent свойству false (значение по умолчанию), это ImageBrush зависит от вида ElementHost управления, включая его BackColor, BackgroundImage, BackgroundImageLayout свойства и все присоединенные рисования обработчики.

Если BackColorTransparent свойству true, ImageBrush зависит от вида ElementHost родительского элемента управления, включая родительского элемента BackColor, BackgroundImage, BackgroundImageLayout свойства и все присоединенные рисования обработчики.
BackgroundImage

(System.Drawing.Image)
Background

(System.Windows.Media.Brush) размещаемого элемента
Это свойство, то же поведение, описанным для BackColor сопоставления.
BackgroundImageLayout Background

(System.Windows.Media.Brush) размещаемого элемента
Это свойство, то же поведение, описанным для BackColor сопоставления.
Cursor

(System.Windows.Forms.Cursor)
Cursor

(System.Windows.Input.Cursor)
Windows Forms Стандартный курсор преобразуется в соответствующий WPF стандартным курсором. Если Windows Forms не является стандартным курсором, назначается значение по умолчанию.
Enabled IsEnabled Когда Enabled имеет значение, ElementHost задает IsEnabled свойств размещаемого элемента.
Font

(System.Drawing.Font)
FontFamily

FontSize

FontStretch

FontStyle

FontWeight
Font Значение преобразуется в соответствующий набор WPF свойств шрифта.
Bold FontWeight размещаемого элемента Если значение Bold равно true, то FontWeight присваивается значение Bold.

Если значение Bold равно false, то FontWeight присваивается значение Normal.
Italic FontStyle размещаемого элемента Если значение Italic равно true, то FontStyle присваивается значение Italic.

Если значение Italic равно false, то FontStyle присваивается значение Normal.
Strikeout TextDecorations размещаемого элемента Применимо только в том случае, если размещение TextBlock элемента управления.
Underline TextDecorations размещаемого элемента Применимо только в том случае, если размещение TextBlock элемента управления.
RightToLeft

(System.Windows.Forms.RightToLeft)
FlowDirection

(FlowDirection)
No сопоставляется LeftToRight.

Yes сопоставляется RightToLeft.
Visible Visibility ElementHost Задает Visibility свойств размещаемого элемента с помощью следующих правил:

- Visible = true сопоставляется Visible.
- Visible = false сопоставляется Hidden.

См. также

  • ElementHost
  • WindowsFormsHost
  • Взаимодействие WPF и Win32
  • Взаимодействие WPF и Windows Forms
  • Пошаговое руководство. Сопоставление свойств с помощью элемента WindowsFormsHost
  • Пошаговое руководство. Сопоставление свойств с помощью элемента управления ElementHost
Back to top Неофициальная документация по .NET на русском языке. Лицензия: CC-BY 4.0. Основано на документации по .NET с Microsoft Docs
Generated by DocFX