Mappage de propriétés Windows Forms et WPF
Mise à jour : novembre 2007
Les technologies Windows Forms et WPF ont deux modèles de propriété semblables mais différents. Le mappage de propriété prend en charge l'interopérabilité entre les deux architectures et fournit les fonctionnalités suivantes.
Simplifie le mappage des modifications de propriété dans l'environnement hôte au contrôle ou à l'élément hébergé.
Fournit la gestion par défaut pour le mappage des propriétés les plus couramment utilisées.
Autorise la suppression, la substitution ou l'extension des propriétés par défaut.
Vérifie que les modifications apportées aux valeurs des propriétés sur l'hôte sont automatiquement détectées et traduites dans le contrôle ou l'élément hébergé.
Remarque : |
---|
Les événements de modification de propriété ne sont pas propagés jusqu'à l'hébergement du contrôle ou la hiérarchie d'élément. La propriété n'est pas traduite si la valeur locale d'une propriété n'est pas modifiée en raison d'un paramètre direct, de styles, d'héritage, de liaison de données ou d'autres mécanismes qui modifient la valeur de la propriété. |
Utilisez la propriété PropertyMap sur l'élément WindowsFormsHost et la propriété PropertyMap sur le contrôle ElementHost pour accéder au mappage de propriétés.
Mappage de propriétés à l'aide de l'élément WindowsFormsHost
L'élément WindowsFormsHost traduit les propriétés WPF par défaut en leurs équivalents Windows Forms à l'aide de la table de traduction suivante.
Hébergement Windows Presentation Foundation |
Windows Forms |
Comportement d'interopérabilité |
||||
---|---|---|---|---|---|---|
L'élément WindowsFormsHost définit la propriété BackColor et la propriété BackgroundImage du contrôle hébergé. Le mappage est exécuté à l'aide des règles suivantes :
|
||||||
Si le mappage par défaut n'a pas été réassigné, le contrôle WindowsFormsHost parcourt sa hiérarchie ancêtre jusqu'à ce qu'il trouve un ancêtre avec son jeu de propriétés Cursor. Cette valeur est traduite en curseur Windows Forms correspondant le plus. Si le mappage par défaut de la propriété ForceCursor n'a pas été réassigné, le parcours s'arrête sur le premier ancêtre avec un ForceCursor ayant la valeur true. |
||||||
LeftToRight correspond à No. RightToLeft correspond à Yes. Inherit n'est pas mappé. FlowDirection.RightToLeft correspond à RightToLeft.Yes. |
||||||
Style sur System.Drawing.Font du contrôle hébergé |
Le jeu de propriétés WPF est traduit en Font correspondant. Si une de ces propriétés est modifiée, un nouveau Font est créé. Pour Normal : Italic est désactivé. Pour Italic ou Oblique : Italic est activé. |
|||||
Style sur System.Drawing.Font du contrôle hébergé |
Le jeu de propriétés WPF est traduit en Font correspondant. Si une de ces propriétés est modifiée, un nouveau Font est créé. Pour Black, Bold, DemiBold, ExtraBold, Heavy, Medium, SemiBold ou UltraBold : Bold est activé. Pour ExtraLight, Light, Normal, Regular, Thin ou UltraLight : Bold est désactivé. |
|||||
Le jeu de propriétés WPF est traduit en Font correspondant. Si une de ces propriétés est modifiée, un nouveau Font est créé. Le contrôle Windows Forms hébergé est redimensionné en fonction de la taille de police. La taille de police dans WPF est exprimée sous la forme de un quatre-vingt-seizième d'un pouce et dans Windows Forms sous la forme de un soixante-douzième d'un pouce. La conversion correspondante est : Taille de police Windows Forms = Taille de police WPF * 72.0 / 96.0. |
||||||
Le mappage de propriétés Foreground est exécuté à l'aide des règles suivantes :
|
||||||
Si IsEnabled est défini, l'élément WindowsFormsHost définit la propriété Enabled sur le contrôle hébergé. |
||||||
Les quatre valeurs de la propriété Padding sur le contrôle Windows Forms hébergé ont la même valeur Thickness. |
||||||
|
Les propriétés attachées sur les éléments conteneurs sont totalement prises en charge par l'élément WindowsFormsHost.
Pour plus d'informations, consultez Procédure pas à pas : mappage de propriétés à l'aide de l'élément WindowsFormsHost.
Mises à jour des propriétés parent
Les modifications apportées à la plupart des propriétés parent entraînent des notifications sur le contrôle enfant hébergé. La liste suivante décrit les propriétés qui n'entraînent pas notifications lorsque leur valeur est modifiée.
Par exemple, si vous modifiez la valeur de la propriété Background de l'élément WindowsFormsHost, la propriété BackColor du contrôle hébergé n'est pas modifiée.
Mappage de propriétés à l'aide du contrôle ElementHost
Les propriétés suivantes fournissent une notification de modification intégrée. N'appelez pas la méthode OnPropertyChanged lorsque vous mappez ces propriétés.
AutoSize
BackColor
BackgroundImage
BackgroundImageLayout
BindingContext
CausesValidation
ContextMenu
ContextMenuStrip
Curseur
Dock
Enabled
Font
ForeColor
Emplacement
Marge
Remplissage
Parent
Region
RightToLeft
Size
TabIndex
TabStop
Text
Visible
Le contrôle ElementHost traduit les propriétés Windows Forms par défaut en leurs équivalents WPF à l'aide de la table de traduction suivante.
Pour plus d'informations, consultez Procédure pas à pas : mappage de propriété à l'aide du contrôle ElementHost.
Hébergement Windows Forms |
Windows Presentation Foundation |
Comportement d'interopérabilité |
---|---|---|
(System.Windows.Media.Brush) sur l'élément hébergé |
La définition de cette propriété force à repeindre avec un ImageBrush. Si la propriété BackColorTransparent a la valeur false (valeur par défaut), ce ImageBrush est basé sur l'apparence du contrôle ElementHost, notamment ses propriétés BackColor, BackgroundImage, BackgroundImageLayout et les gestionnaires de peinture attachés. Si la propriété BackColorTransparent a la valeur true, ImageBrush est basé sur l'apparence du parent du contrôle ElementHost, notamment les propriétés BackColor, BackgroundImage, BackgroundImageLayout du parent et les gestionnaires de peinture attachés. |
|
(System.Windows.Media.Brush) sur l'élément hébergé |
La définition de cette propriété provoque le même comportement que celui décrit pour le mappage BackColor. |
|
(System.Windows.Media.Brush) sur l'élément hébergé |
La définition de cette propriété provoque le même comportement que celui décrit pour le mappage BackColor. |
|
Le curseur Windows Forms standard est traduit en curseur WPF standard correspondant. Si Windows Forms n'est pas un curseur standard, la valeur par défaut est assignée. |
||
Si Enabled est défini, le contrôle ElementHost définit la propriété IsEnabled sur l'élément hébergé. |
||
La valeur Font est traduite en un jeu correspondant de propriétés de police WPF. |
||
FontWeight sur l'élément hébergé |
Si Bold est true, FontWeight a la valeur Bold. Si Bold est false, FontWeight a la valeur Normal. |
|
FontStyle sur l'élément hébergé |
||
TextDecorations sur l'élément hébergé |
S'applique uniquement lors de l'hébergement d'un contrôle TextBlock. |
|
TextDecorations sur l'élément hébergé |
S'applique uniquement lors de l'hébergement d'un contrôle TextBlock. |
|
No correspond à LeftToRight. Yes correspond à RightToLeft. |
||
Le contrôle ElementHost définit la propriété Visibility sur l'élément hébergé à l'aide des règles suivantes : |
Voir aussi
Tâches
Procédure pas à pas : mappage de propriétés à l'aide de l'élément WindowsFormsHost
Procédure pas à pas : mappage de propriété à l'aide du contrôle ElementHost
Concepts
Vue d'ensemble de l'interopérabilité WPF et Win32