Сопоставление свойств 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 свойство 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. |