Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Технологии Windows Forms и WPF имеют две аналогичные, но разные модели свойств. Сопоставление свойств поддерживает взаимодействие между двумя архитектурами и предоставляет следующие возможности:
Упрощает сопоставление изменений соответствующих свойств в среде узла с элементом управления или элементом, размещенным на нем.
Предоставляет обработку по умолчанию для сопоставления наиболее часто используемых свойств.
Позволяет легко удалять, переопределять или расширять свойства по умолчанию.
Гарантирует, что изменения значения свойства на хосте автоматически обнаруживаются и передаются в размещенный элемент управления или элемент.
Замечание
События изменения свойств не распространяются вверх по иерархии элемента управления или иерархии элементов. Преобразование свойств не выполняется, если локальное значение свойства не изменяется из-за прямого задания, стилей, наследования, привязки данных или других механизмов, которые изменяют значение свойства.
Используйте свойство 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, Medium, Heavy, SemiBold, ExtraBold или 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 свойства WindowsFormsHost элемента, BackColor свойство размещенного управления не изменится.
Сопоставление свойств с помощью элемента управления ElementHost
Следующие свойства предоставляют встроенное уведомление об изменениях. Не вызывайте OnPropertyChanged метод при сопоставлении этих свойств:
Автоматическое масштабирование
Цвет фона
Фоновое изображение
Расположение фонового изображения
BindingContext
Проверка причинности
Контекстное меню
ContextMenuStrip
Курсор
Док
Включен
Шрифт
ForeColor
Местоположение
Маржа
Набивочный материал
Родитель
Регион
Справа налево
Размер
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. |
См. также
.NET Desktop feedback