Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die Windows Forms- und WPF-Technologien weisen zwei ähnliche, aber unterschiedliche Eigenschaftenmodelle auf. Die Eigenschaftenzuordnung unterstützt die Interoperabilität zwischen den beiden Architekturen und bietet die folgenden Funktionen:
Erleichtert das Zuordnen relevanter Eigenschaftsänderungen in der Hostumgebung zum gehosteten Steuerelement oder Element.
Stellt die Standardbehandlung für die Zuordnung der am häufigsten verwendeten Eigenschaften bereit.
Ermöglicht eine einfache Entfernung, Außerkraftsetzung oder Erweiterung von Standardeigenschaften.
Stellt sicher, dass Eigenschaftswertänderungen auf dem Host automatisch erkannt und in das gehostete Steuerelement oder Element übersetzt werden.
Hinweis
Eigenschaftsänderungsereignisse werden nicht innerhalb der Hosting-Steuerelement- oder Elementhierarchie propagiert. Die Eigenschaftsübersetzung wird nicht ausgeführt, wenn sich der lokale Wert einer Eigenschaft aufgrund von direkten Einstellungen, Formatvorlagen, Vererbung, Datenbindung oder anderen Mechanismen, die den Wert der Eigenschaft ändern, nicht ändert.
Verwenden Sie die PropertyMap Eigenschaft am WindowsFormsHost Element und die PropertyMap Eigenschaft an der ElementHost Steuerung, um auf die Eigenschaftszuordnung zuzugreifen.
Eigenschaftenzuordnung mit dem WindowsFormsHost-Element
Das WindowsFormsHost Element übersetzt die WPF-Standardeigenschaften in ihre Windows Forms-Entsprechungen mithilfe der folgenden Übersetzungstabelle.
| Hosten von Windows Presentation Foundation | Windows Forms | Interoperationsverhalten |
|---|---|---|
| Background (System.Windows.Media.Brush) |
BackColor (System.Drawing.Color) |
Das WindowsFormsHost Element legt die BackColor Eigenschaft des gehosteten Steuerelements und die BackgroundImage Eigenschaft des gehosteten Steuerelements fest. Die Zuordnung (Mapping) erfolgt mithilfe der folgenden Regeln: - Wenn Background eine Volltonfarbe ist, wird sie konvertiert und verwendet, um die Eigenschaft BackColor des gehosteten Steuerelements festzulegen. Die BackColor Eigenschaft wird für das gehostete Steuerelement nicht festgelegt, da das gehostete Steuerelement den Wert der BackColor Eigenschaft erben kann. Anmerkung: Das gehostete Steuerelement unterstützt keine Transparenz. Jede Farbe, die BackColor zugewiesen wird, muss vollständig undurchsichtig sein und einen Alphawert von 0xFF haben. - Wenn Background keine unifarbene Fläche ist, erstellt das WindowsFormsHost-Steuerelement eine Bitmap aus der Background-Eigenschaft. Das WindowsFormsHost Steuerelement weist diese Bitmap der BackgroundImage Eigenschaft des gehosteten Steuerelements zu. Dies ist ein Effekt, der der Transparenz ähnelt. Anmerkung: Sie können dieses Verhalten außer Kraft setzen oder die Background Eigenschaftszuordnung entfernen. |
| Cursor | Cursor | Wenn die Standardzuordnung nicht neu zugewiesen wurde, durchläuft das Steuerelement seine Vorgängerhierarchie WindowsFormsHost, bis es einen Vorgänger findet, bei dem die Eigenschaft Cursor festgelegt ist. Dieser Wert wird in den nächstgelegenen Windows Forms-Cursor übersetzt. Wenn die Standardzuordnung für die ForceCursor Eigenschaft nicht neu zugewiesen wurde, wird der Durchlauf beim ersten Vorgänger gestoppt, dessen ForceCursor auf true gesetzt ist. |
| FlowDirection (System.Windows.FlowDirection) |
RightToLeft (System.Windows.Forms.RightToLeft) |
LeftToRight wird No zugeordnet. RightToLeft wird Yes zugeordnet. Inherit ist nicht zugeordnet. FlowDirection.RightToLeft wird RightToLeft.Yes zugeordnet. |
| FontStyle | Style auf den gehosteten Steuerelementen System.Drawing.Font | Der Satz von WPF-Eigenschaften wird in einen entsprechenden Fontübersetzt. Wenn sich eine dieser Eigenschaften ändert, wird ein neues Font erstellt. Für Normal: Italic ist deaktiviert. Für Italic oder Oblique: Italic ist aktiviert. |
| FontWeight | Style auf den gehosteten Steuerelementen System.Drawing.Font | Der Satz von WPF-Eigenschaften wird in einen entsprechenden Fontübersetzt. Wenn sich eine dieser Eigenschaften ändert, wird ein neues Font erstellt. Für Black, , Bold, DemiBold, ExtraBold, Heavy, Mediumoder SemiBoldUltraBold: Bold ist aktiviert. Für ExtraLight, Light, , Normal, Regular, Thinoder UltraLight: Bold ist deaktiviert. |
| FontFamily FontSize FontStretch FontStyle FontWeight |
Font (System.Drawing.Font) |
Der Satz von WPF-Eigenschaften wird in einen entsprechenden Fontübersetzt. Wenn sich eine dieser Eigenschaften ändert, wird ein neues Font erstellt. Das gehostete Windows Forms-Steuerelement ändert die Größe basierend auf der Schriftgröße. Der Schriftgröße in WPF wird als ein Sechsundneunzigstel eines Zolls und in Windows Forms als ein Zweiundsiebzigstel eines Zolls ausgedrückt. Die entsprechende Konvertierung lautet: Windows Forms-Schriftgrad = WPF-Schriftgrad * 72,0 / 96.0. |
| Foreground (System.Windows.Media.Brush) |
ForeColor (System.Drawing.Color) |
Die Foreground Eigenschaftenzuordnung wird mithilfe der folgenden Regeln ausgeführt: - Ist Foreground ein SolidColorBrush, verwenden Sie Color für ForeColor. - Wenn Foreground ein GradientBrush Wert ist, verwenden Sie die Farbe der GradientStop mit dem niedrigsten Offsetwert für ForeColor. - Für jeden anderen Brush-Typ ForeColor unverändert lassen. Dies bedeutet, dass der Standardwert verwendet wird. |
| IsEnabled | Enabled | Wenn IsEnabled festgelegt wird, WindowsFormsHost legt das Element die Enabled Eigenschaft für das gehostete Steuerelement fest. |
| Padding | Padding | Alle vier Werte der Padding Eigenschaft im gehosteten Windows Forms-Steuerelement werden auf denselben Thickness Wert festgelegt. - Werte, die größer als MaxValue sind, werden auf MaxValue gesetzt. - Werte kleiner als MinValue werden auf MinValue gesetzt. |
| Visibility | Visible |
-
Visible zugeordnet zu Visible = true. Das gehostete Windows Forms-Steuerelement ist sichtbar. Das explizite Festlegen der Visible Eigenschaft für das gehostete Steuerelement false wird nicht empfohlen.- Collapsed entspricht Visible = true oder false. Das gehostete Windows Forms-Steuerelement wird nicht gezeichnet, und sein Bereich wird zusammengeklappt.- Hidden : Das gehostete Windows Forms-Steuerelement belegt Platz im Layout, ist aber nicht sichtbar. In diesem Fall wird die-Visible Eigenschaft auf true gesetzt. Das explizite Festlegen der Visible Eigenschaft für das gehostete Steuerelement false wird nicht empfohlen. |
Angefügte Eigenschaften für Containerelemente werden vom WindowsFormsHost Element vollständig unterstützt.
Weitere Informationen finden Sie unter Walkthrough: Mapping Properties Using the WindowsFormsHost Element.
Aktualisierungen von übergeordneten Eigenschaften
Änderungen an den meisten Elterneigenschaften benachrichtigen das gehostete untergeordnete Steuerelement. In der folgenden Liste werden Eigenschaften beschrieben, die keine Benachrichtigungen verursachen, wenn sich ihre Werte ändern.
Wenn Sie beispielsweise 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 stellen eine integrierte Änderungsbenachrichtigung bereit. Rufen Sie die OnPropertyChanged Methode nicht auf, wenn Sie diese Eigenschaften zuordnen:
Automatische Größenanpassung
Hintergrundfarbe
Hintergrundbild
Hintergrundbildlayout
Bindungskontext
CausesValidation
Kontextmenü
ContextMenuStrip
Mauszeiger
Dockingstation
Aktiviert
Schriftart
ForeColor
Standort
Rand
Polsterung
Elternteil
Region
Rechts-nach-Links
Größe
TabIndex
Tabulatorstopp
Text
Sichtbar
Das ElementHost Steuerelement übersetzt die Standardeigenschaften von Windows Forms in ihre WPF-Entsprechungen mithilfe der folgenden Übersetzungstabelle.
Weitere Informationen finden Sie unter Walkthrough: Mapping Properties Using the ElementHost Control.
| „Windows Forms Hosting“ | Windows Presentation Foundation | Interoperationsverhalten |
|---|---|---|
| BackColor (System.Drawing.Color) |
Background (System.Windows.Media.Brush) für das gehostete Element |
Das Festlegen dieser Eigenschaft erzwingt eine Neuerstellung mit einem ImageBrush. Wenn die Eigenschaft BackColorTransparent auf false (den Standardwert) festgelegt ist, basiert ImageBrush auf der Darstellung des ElementHost Steuerelements, einschließlich seiner BackColor, BackgroundImage, BackgroundImageLayout Eigenschaften und aller angefügten Paint-Handler.Wenn die BackColorTransparent-Eigenschaft auf true festgelegt ist, basiert das ImageBrush auf der Darstellung des übergeordneten ElementHost-Steuerelements, einschließlich der BackColor-Eigenschaft, BackgroundImage- und BackgroundImageLayout-Eigenschaften und aller angebrachten Paint-Handler. |
| BackgroundImage (System.Drawing.Image) |
Background (System.Windows.Media.Brush) für das gehostete Element |
Das Festlegen dieser Eigenschaft bewirkt das gleiche Verhalten, das für die BackColor Zuordnung beschrieben wird. |
| BackgroundImageLayout | Background (System.Windows.Media.Brush) für das gehostete Element |
Das Festlegen dieser Eigenschaft bewirkt das gleiche Verhalten, das für die BackColor Zuordnung beschrieben wird. |
| Cursor (System.Windows.Forms.Cursor) |
Cursor (System.Windows.Input.Cursor) |
Der Standardcursor von Windows Forms wird zum entsprechenden Standardcursor von WPF übersetzt. Wenn windows Forms kein Standardcursor ist, wird die Standardeinstellung zugewiesen. |
| Enabled | IsEnabled | Wenn Enabled festgelegt wird, legt das ElementHost Steuerelement die IsEnabled Eigenschaft für das gehostete Element fest. |
| Font (System.Drawing.Font) |
FontFamily FontSize FontStretch FontStyle FontWeight |
Der Font Wert wird in einen entsprechenden Satz von WPF-Schriftarteigenschaften übersetzt. |
| Bold | FontWeight auf gehosteten Elementen | Wenn Boldtrue ist, wird FontWeight auf Bold gesetzt.Wenn Bold false ist, wird FontWeight auf Normal gesetzt. |
| Italic | FontStyle auf gehosteten Elementen | Wenn Italictrue ist, wird FontStyle auf Italic gesetzt.Wenn Italic false ist, wird FontStyle auf Normal gesetzt. |
| Strikeout | TextDecorations auf gehosteten Elementen | Gilt nur, wenn ein TextBlock Steuerelement gehostet wird. |
| Underline | TextDecorations auf gehosteten Elementen | Gilt nur, wenn ein TextBlock Steuerelement gehostet wird. |
| RightToLeft (System.Windows.Forms.RightToLeft) |
FlowDirection (FlowDirection) |
No wird LeftToRight zugeordnet. Yes wird RightToLeft zugeordnet. |
| Visible | Visibility | Das ElementHost Steuerelement legt die Visibility Eigenschaft für das gehostete Element mithilfe der folgenden Regeln fest: - Visible = true zugeordnet zu Visible.- Visible = false zugeordnet zu Hidden. |
Siehe auch
.NET Desktop feedback