Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
De Windows Forms- en WPF-technologieën hebben twee vergelijkbare maar verschillende eigenschapsmodellen. Eigenschapstoewijzing ondersteunt interoperation tussen de twee architecturen en biedt de volgende mogelijkheden:
Hiermee kunt u eenvoudig relevante eigenschapswijzigingen in de hostomgeving toewijzen aan het gehoste besturingselement of element.
Biedt standaardafhandeling voor het toewijzen van de meest gebruikte eigenschappen.
Hiermee kunt u eenvoudig verwijderen, overschrijven of uitbreiden van standaardeigenschappen.
Zorgt ervoor dat eigenschapswaardewijzigingen op de host automatisch worden gedetecteerd en vertaald naar het gehoste besturingselement of element.
Opmerking
Gebeurtenissen voor het wijzigen van eigenschappen worden niet doorgegeven aan de hostcontrole of de elementhiërarchie. Eigenschapsvertaling wordt niet uitgevoerd als de lokale waarde van een eigenschap niet verandert vanwege directe instelling, stijlen, overname, gegevensbinding of andere mechanismen die de waarde van de eigenschap wijzigen.
Gebruik de PropertyMap eigenschap voor het WindowsFormsHost element en de PropertyMap eigenschap op het ElementHost besturingselement om toegang te krijgen tot eigenschapstoewijzing.
Eigenschapstoewijzing met het element WindowsFormsHost
Het WindowsFormsHost element vertaalt standaard WPF-eigenschappen naar hun Windows Forms-equivalenten met behulp van de volgende vertaaltabel.
| Windows Presentation Foundation hosten | Windows Forms | Interoperatiegedrag |
|---|---|---|
| Background (System.Windows.Media.Brush) |
BackColor (System.Drawing.Color) |
Het WindowsFormsHost element stelt de BackColor eigenschap van het gehoste besturingselement en de BackgroundImage eigenschap van het gehoste besturingselement in. Mapping wordt uitgevoerd door gebruik te maken van de volgende regels: - Als Background een effen kleur is, wordt deze geconverteerd en gebruikt om de BackColor eigenschap van het besturingselement in te stellen. De BackColor eigenschap is niet ingesteld op het gehoste besturingselement, omdat het gehoste besturingselement de waarde van de BackColor eigenschap kan overnemen. Notitie: Het gehoste besturingselement biedt geen ondersteuning voor transparantie. Elke kleur waaraan is toegewezen BackColor , moet volledig ondoorzichtig zijn, met een alfawaarde van 0xFF. - Als Background geen effen kleur is, maakt de WindowsFormsHost controle een bitmap van de Background eigenschap. Het WindowsFormsHost controle-element wijst deze bitmap toe aan de BackgroundImage eigenschap van het gehoste controle-element. Dit biedt een effect dat vergelijkbaar is met transparantie. Notitie: U kunt dit gedrag negeren of u kunt de Background eigenschapstoewijzing verwijderen. |
| Cursor | Cursor | Als de standaardtoewijzing niet opnieuw is toegewezen, doorloopt WindowsFormsHost het besturingselement de hiërarchie van voorouders totdat er een voorouder wordt gevonden met de Cursor eigenschap ingesteld. Deze waarde wordt vertaald naar de dichtstbijzijnde bijbehorende Windows Forms-cursor. Als de standaardtoewijzing voor de ForceCursor eigenschap niet opnieuw is toegewezen, stopt de traversale actie bij de eerste bovenliggende eigenschap met ForceCursor ingesteld op true. |
| FlowDirection (System.Windows.FlowDirection) |
RightToLeft (System.Windows.Forms.RightToLeft) |
LeftToRight wordt toegewezen aan No. RightToLeft wordt toegewezen aan Yes. Inherit is niet toegewezen. FlowDirection.RightToLeft wordt toegewezen aan RightToLeft.Yes. |
| FontStyle | Style op het gehoste besturingselement System.Drawing.Font | De set WPF-eigenschappen wordt omgezet in een bijbehorende Font. Wanneer een van deze eigenschappen wordt gewijzigd, wordt er een nieuwe Font gemaakt. Voor Normal: Italic is uitgeschakeld. Voor Italic of Oblique: Italic is ingeschakeld. |
| FontWeight | Style op het gehoste besturingselement System.Drawing.Font | De set WPF-eigenschappen wordt omgezet in een bijbehorende Font. Wanneer een van deze eigenschappen wordt gewijzigd, wordt er een nieuwe Font gemaakt. Voor Black, Bold, DemiBold, ExtraBold, Heavy, Medium, SemiBold, of UltraBold: Bold is ingeschakeld. Voor ExtraLight, Light, Normal, Regular, Thin, of UltraLight: Bold is uitgeschakeld. |
| FontFamily FontSize FontStretch FontStyle FontWeight |
Font (System.Drawing.Font) |
De set WPF-eigenschappen wordt omgezet in een bijbehorende Font. Wanneer een van deze eigenschappen wordt gewijzigd, wordt er een nieuwe Font gemaakt. De grootte van het gehoste Besturingselement Windows Forms wordt aangepast op basis van de tekengrootte. Lettergrootte in WPF wordt uitgedrukt als een zesennegentigste van een inch, en in Windows Forms als een tweeënzeventigste van een inch. De bijbehorende conversie is: Tekengrootte van Windows Forms = WPF-tekengrootte * 72.0 / 96.0. |
| Foreground (System.Windows.Media.Brush) |
ForeColor (System.Drawing.Color) |
De Foreground eigenschaptoewijzing wordt uitgevoerd met behulp van de volgende regels: - Als Foreground een SolidColorBrush is, gebruik Color voor ForeColor. - Als Foreground een GradientBrush is, gebruikt u de kleur van de GradientStop met de laagste offsetwaarde voor ForeColor. - Voor elk ander Brush type laat u ForeColor ongewijzigd. Dit betekent dat de standaardwaarde wordt gebruikt. |
| IsEnabled | Enabled | Wanneer IsEnabled is ingesteld, stelt het WindowsFormsHost-element de Enabled-eigenschap in voor het gehoste besturingselement. |
| Padding | Padding | Alle vier de waarden van de Padding eigenschap op het gehoste Besturingselement Windows Forms worden ingesteld op dezelfde Thickness waarde. - Waarden groter dan MaxValue zijn ingesteld op MaxValue. - Waarden kleiner dan MinValue zijn ingesteld op MinValue. |
| Visibility | Visible |
-
Visible wordt toegewezen aan Visible = true. Het Windows Forms-besturingselement dat wordt gehost, is zichtbaar. Het expliciet instellen van de eigenschap Visible op false van het gehoste besturingselement wordt niet aanbevolen.- Collapsedwordt toegewezen aan Visible = true of .false Het Windows Forms-besturingselement wordt niet getekend en zijn gebied stort in.- Hidden : Het Windows Forms-besturingselement neemt ruimte in de indeling in beslag, maar is niet zichtbaar. In dit geval is de Visible eigenschap ingesteld op true. Het expliciet instellen van de eigenschap Visible op false van het gehoste besturingselement wordt niet aanbevolen. |
Gekoppelde eigenschappen op containerelementen worden volledig ondersteund door het WindowsFormsHost element.
Zie Handleiding: Eigenschappen toewijzen met behulp van het WindowsFormsHost-element voor meer informatie.
Updates voor oudere eigenschappen
Wijzigingen in de meeste eigenschappen van de bovenliggende elementen zorgen voor meldingen aan het gehoste onderliggende besturingselement. In de volgende lijst worden eigenschappen beschreven die geen meldingen veroorzaken wanneer hun waarden veranderen.
Als u bijvoorbeeld de waarde van de Background eigenschap van het WindowsFormsHost element wijzigt, wordt de BackColor eigenschap van het gehoste besturingselement niet gewijzigd.
Eigenschapstoewijzing met het ElementHost-besturingselement
De volgende eigenschappen bieden ingebouwde wijzigingsmeldingen. Roep de OnPropertyChanged methode niet aan wanneer u bezig bent deze eigenschappen in kaart te brengen.
Automatisch aanpassen
Achtergrondkleur
Achtergrondafbeelding
Achtergrondafbeeldingindeling
BindingContext
ValidatieVerzekeren
Context-menu
ContextmenuStrip
Aanwijzer
Dockingstation
Ingeschakeld
Lettertype
ForeColor
Locatie
Marge
Opvulling
Ouder
Regio
VanRechtsNaarLinks
Grootte
TabIndex
Tabstop
Tekst
Zichtbaar
Het ElementHost besturingselement vertaalt standaardeigenschappen van Windows Forms naar hun WPF-equivalenten met behulp van de volgende vertaaltabel.
Voor meer informatie, zie Walkthrough: Eigenschappen toewijzen met behulp van de ElementHost-control.
| Hosting van Windows Forms | Windows Presentation Foundation | Interoperatiegedrag |
|---|---|---|
| BackColor (System.Drawing.Color) |
Background (System.Windows.Media.Brush) op het gehoste element |
Als u deze eigenschap instelt, wordt de repaint uitgevoerd met een ImageBrush element. Als de BackColorTransparent eigenschap is ingesteld op false (de standaardwaarde), is dit ImageBrush gebaseerd op het uiterlijk van het ElementHost besturingselement, inclusief de BackColor, BackgroundImage en BackgroundImageLayout eigenschappen, en eventuele gekoppelde verwerkingsmodules.Als de BackColorTransparent eigenschap is ingesteld op true, is de ImageBrush gebaseerd op het uiterlijk van het bovenliggende ElementHost-besturingselement, inclusief de eigenschappen van het bovenliggende BackColor, BackgroundImage, BackgroundImageLayout en eventuele bijgevoegde verwerkingssystemen voor verf. |
| BackgroundImage (System.Drawing.Image) |
Background (System.Windows.Media.Brush) op het gehoste element |
Als u deze eigenschap instelt, wordt hetzelfde gedrag veroorzaakt dat wordt beschreven voor de BackColor toewijzing. |
| BackgroundImageLayout | Background (System.Windows.Media.Brush) op het gehoste element |
Als u deze eigenschap instelt, wordt hetzelfde gedrag veroorzaakt dat wordt beschreven voor de BackColor toewijzing. |
| Cursor (System.Windows.Forms.Cursor) |
Cursor (System.Windows.Input.Cursor) |
De standaardcursor van Windows Forms wordt vertaald naar de bijbehorende WPF-standaardcursor. Als de Windows Forms geen standaardcursor is, wordt de standaardwaarde toegewezen. |
| Enabled | IsEnabled | Wanneer Enabled dit is ingesteld, stelt het ElementHost besturingselement de IsEnabled eigenschap in op het gehoste element. |
| Font (System.Drawing.Font) |
FontFamily FontSize FontStretch FontStyle FontWeight |
De Font waarde wordt omgezet in een bijbehorende set WPF-lettertype-eigenschappen. |
| Bold | FontWeight op gehoste element | Als Boldtrue is, wordt FontWeight ingesteld op Bold.Als Bold false is, wordt FontWeight ingesteld op Normal. |
| Italic | FontStyle op gehoste element | Als Italictrue is, wordt FontStyle ingesteld op Italic.Als Italic false is, wordt FontStyle ingesteld op Normal. |
| Strikeout | TextDecorations op gehoste element | Is alleen van toepassing wanneer u een TextBlock bedieningselement host. |
| Underline | TextDecorations op gehoste element | Is alleen van toepassing wanneer u een TextBlock bedieningselement host. |
| RightToLeft (System.Windows.Forms.RightToLeft) |
FlowDirection (FlowDirection) |
No wordt toegewezen aan LeftToRight. Yes wordt toegewezen aan RightToLeft. |
| Visible | Visibility | Het ElementHost besturingselement stelt de Visibility eigenschap voor het gehoste element in met behulp van de volgende regels: - Visible = true wordt toegewezen aan Visible.- Visible = false wordt toegewezen aan Hidden. |
Zie ook
.NET Desktop feedback