Eigenschaftenzuordnung von Windows Forms und WPF
Aktualisiert: November 2007
Die Technologien von Windows Forms und WPF besitzen zwei zwar ähnliche, aber dennoch unterschiedliche Eigenschaftenmodelle. Die Eigenschaftenzuordnung unterstützt die Interoperation zwischen den zwei Architekturen und stellt die folgenden Funktionen bereit:
Einfaches Zuordnen wichtiger Eigenschaftenänderungen in der Hostumgebung zum gehosteten Steuerelement oder Element.
Bereitstellen einer Standardbehandlung zum Zuordnen der am häufigsten verwendeten Eigenschaften.
Einfaches Entfernen, Überschreiben oder Erweitern von Standardeigenschaften.
Sicherstellen, dass Änderungen der Eigenschaftenwerte auf dem Host automatisch erkannt und für das gehostete Steuerelement oder Element übersetzt werden.
Tipp
Eigenschaftenänderungsereignisse werden nicht in der Hierarchie des Hostingsteuerelements oder des Elements weitergeleitet. Die Eigenschaftenübersetzung wird nicht ausgeführt, wenn der lokale Wert einer Eigenschaft sich nicht aufgrund von direkter Festlegung, Stilen, Vererbung, Datenbindung oder anderen Verfahren, die den Wert der Eigenschaft ändern, ändert.
Verwenden Sie die PropertyMap-Eigenschaft für das WindowsFormsHost-Element und die PropertyMap-Eigenschaft für das ElementHost-Steuerelement, um auf die Eigenschaftenzuordnung zuzugreifen.
Eigenschaftenzuordnung mit dem WindowsFormsHost-Element
Das WindowsFormsHost-Element übersetzt WPF-Standardeigenschaften mit der folgenden Übersetzungstabelle in ihre Windows Forms-Entsprechungen.
In Windows Presentation Foundation gehostete Elemente |
Windows Forms |
Interoperationsverhalten |
---|---|---|
Das WindowsFormsHost-Element legt die BackColor-Eigenschaft des gehosteten Steuerelements und die BackgroundImage-Eigenschaft des gehosteten Steuerelements fest. Die Zuordnung wird unter Anwendung der folgenden Regeln ausgeführt:
Tipp Das gehostete Steuerelement unterstützt keine Transparenz. Jede BackColor zugewiesene Farbe muss vollständig deckend sein, mit einem Alphawert von 0xFF.
Tipp Sie können dieses Verhalten überschreiben, oder Sie können die Background-Eigenschaftenzuordnung entfernen. |
||
Wenn die Standardzuordnung nicht erneut zugewiesen wurde, durchläuft das WindowsFormsHost-Steuerelement die Vorgängerhierarchie, bis es einen Vorgänger mit festgelegter Cursor-Eigenschaft findet. Dieser Wert wird in den Windows Forms-Cursor mit der größten Entsprechung übersetzt. Wenn die Standardzuordnung für die ForceCursor-Eigenschaft nicht erneut zugewiesen wurde, wird das Durchlaufen beim ersten Vorgänger beendet, dessen ForceCursor-Eigenschaft auf true festgelegt ist. |
||
LeftToRight wird No zugeordnet. RightToLeft wird Yes zugeordnet. Inherit wird nicht zugeordnet. FlowDirection.RightToLeft wird RightToLeft.Yes zugeordnet. |
||
Style für System.Drawing.Font des gehosteten Steuerelements. |
Der Satz von WPF-Eigenschaften wird in eine entsprechende Font übersetzt. Wenn sich eine dieser Eigenschaften ändert, wird eine neue Font erstellt. Für Normal: Italic wird deaktiviert. Für Italic oder Oblique: Italic wird aktiviert. |
|
Style für System.Drawing.Font des gehosteten Steuerelements. |
Der Satz von WPF-Eigenschaften wird in eine entsprechende Font übersetzt. Wenn sich eine dieser Eigenschaften ändert, wird eine neue Font erstellt. Für Black, Bold, DemiBold, ExtraBold, Heavy, Medium, SemiBold oder UltraBold: Bold wird aktiviert. Für ExtraLight, Light, Normal, Regular, Thin oder UltraLight: Bold wird deaktiviert. |
|
Der Satz von WPF-Eigenschaften wird in eine entsprechende Font übersetzt. Wenn sich eine dieser Eigenschaften ändert, wird eine neue Font erstellt. Die Größe des gehosteten Windows Forms-Steuerelements wird entsprechend dem Schriftgrad angepasst. In WPF wird der Schriftgrad als ein sechsundneunzigstel Zoll ausgedrückt, in Windows Forms als ein zweiundsiebzigstel Zoll. Die entsprechende Umrechnungsformel lautet: Windows Forms-Schriftgrad = WPF-Schriftgrad * 72,0 / 96,0. |
||
Die Foreground-Eigenschaftenzuordnung wird unter Anwendung der folgenden Regeln ausgeführt:
|
||
Wenn IsEnabled festgelegt ist, legt das WindowsFormsHost-Element die Enabled-Eigenschaft für das gehostete Steuerelement fest. |
||
Alle vier Werte der Padding-Eigenschaft für das gehostete Windows Forms-Steuerelement werden auf denselben Thickness-Wert festgelegt. |
||
|
Angefügte Eigenschaften für Containerelemente werden vom WindowsFormsHost-Element vollständig unterstützt.
Weitere Informationen finden Sie unter Exemplarische Vorgehensweise: Zuordnen von Eigenschaften mit dem WindowsFormsHost-Element.
Aktualisierungen für übergeordnete Eigenschaften
Bei Änderungen an den meisten übergeordneten Eigenschaften werden Benachrichtigungen an das gehostete untergeordnete Steuerelement ausgegeben. In der folgenden Liste werden Eigenschaften beschrieben, für die keine Benachrichtigungen ausgegeben werden, wenn sich ihre Werte ändern.
Wenn Sie z. B. den Wert der Background-Eigenschaft des WindowsFormsHost-Elements ändern, ändert sich die BackColor-Eigenschaft des gehosteten Steuerelements nicht.
Eigenschaftenzuordnung mit dem ElementHost-Steuerelement
Die folgenden Eigenschaften bieten eine integrierte Änderungsbenachrichtigung. Rufen Sie nicht die OnPropertyChanged-Methode auf, wenn Sie diese Eigenschaften zuordnen:
AutoSize
BackColor
BackgroundImage
BackgroundImageLayout
BindingContext
CausesValidation
ContextMenu
ContextMenuStrip
Cursor
Dock
Enabled
Font
ForeColor
Location
Margin
Padding
Parent
Region
RightToLeft
Size
TabIndex
TabStop
Text
Visible
Das ElementHost-Steuerelement übersetzt Windows Forms-Standardeigenschaften mit der folgenden Übersetzungstabelle in die zugehörigen WPF-Entsprechungen.
Weitere Informationen finden Sie unter Exemplarische Vorgehensweise: Zuordnen von Eigenschaften mit dem ElementHost-Steuerelement.
In Windows Forms gehostete Elemente |
Windows Presentation Foundation |
Interoperationsverhalten |
---|---|---|
(System.Windows.Media.Brush) für das gehostete Element |
Das Festlegen dieser Eigenschaft erzwingt das Neuzeichnen mit einem ImageBrush. Wenn die BackColorTransparent-Eigenschaft auf false (den Standardwert) festgelegt wird, basiert dieser ImageBrush auf der Darstellung des ElementHost-Steuerelements, einschließlich der zugehörigen BackColor-Eigenschaft, der BackgroundImage-Eigenschaft, der BackgroundImageLayout-Eigenschaft und aller angefügten Paint-Handler. Wenn die BackColorTransparent-Eigenschaft auf true festgelegt wird, basiert der ImageBrush auf der Darstellung des übergeordneten Elements des ElementHost-Steuerelements, einschließlich der BackColor-Eigenschaft, der BackgroundImage-Eigenschaft und der BackgroundImageLayout-Eigenschaft des übergeordneten Elements sowie aller angefügten Paint-Handler. |
|
(System.Windows.Media.Brush) für das gehostete Element |
Das Festlegen dieser Eigenschaft bewirkt dasselbe Verhalten, das für die BackColor-Zuordnung beschrieben wurde. |
|
(System.Windows.Media.Brush) für das gehostete Element |
Das Festlegen dieser Eigenschaft bewirkt dasselbe Verhalten, das für die BackColor-Zuordnung beschrieben wurde. |
|
Der Windows Forms-Standardcursor wird in den entsprechenden WPF-Standardcursor übersetzt. Wenn der Cursor von Windows Forms nicht der Standardcursor ist, wird der Standard zugewiesen. |
||
Wenn Enabled festgelegt ist, legt das ElementHost-Steuerelement die IsEnabled-Eigenschaft für das gehostete Element fest. |
||
Der Font-Wert wird in einen entsprechenden Satz von WPF-Schriftarteigenschaften übersetzt. |
||
FontWeight für das gehostete Element |
Wenn Boldtrue ist, wird FontWeight auf Bold festgelegt. Wenn Boldfalse ist, wird FontWeight auf Normal festgelegt. |
|
FontStyle für das gehostete Element |
||
TextDecorations für das gehostete Element |
Gilt nur, wenn ein TextBlock-Steuerelement gehostet wird. |
|
TextDecorations für das gehostete Element |
Gilt nur, wenn ein TextBlock-Steuerelement gehostet wird. |
|
No wird LeftToRight zugeordnet. Yes wird RightToLeft zugeordnet. |
||
Das ElementHost-Steuerelement legt die Visibility-Eigenschaft für das gehostete Element unter Anwendung der folgenden Regeln fest: |
Siehe auch
Aufgaben
Exemplarische Vorgehensweise: Zuordnen von Eigenschaften mit dem WindowsFormsHost-Element
Exemplarische Vorgehensweise: Zuordnen von Eigenschaften mit dem ElementHost-Steuerelement
Konzepte
Übersicht über die Interaktion zwischen WPF und Win32
Unterstützte Szenarien bei der Interoperation von Windows Presentation Foundation und Windows Forms