Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Windows Forms- och WPF-teknikerna har två liknande men olika egenskapsmodeller. Egenskapsmappning stöder samverkan mellan de två arkitekturerna och tillhandahåller följande funktioner:
Gör det enkelt att mappa relevanta egenskapsändringar i värdmiljön till den värdbaserade kontrollen eller elementet.
Tillhandahåller standardhantering för mappning av de vanligaste egenskaperna.
Gör det enkelt att ta bort, åsidosätta eller utöka standardegenskaper.
Säkerställer att egenskapsvärdeändringar på värden identifieras automatiskt och översätts till den värdbaserade kontrollen eller elementet.
Anmärkning
Egenskapsändringshändelser sprids inte upp i värdkontroll- eller elementhierarkin. Egenskapsöversättning utförs inte om det lokala värdet för en egenskap inte ändras på grund av direkt inställning, format, arv, databindning eller andra mekanismer som ändrar värdet för egenskapen.
Använd egenskapen PropertyMap på elementet WindowsFormsHost och egenskapen PropertyMap på kontrollen ElementHost för att få åtkomst till egenskapsmappning.
Egenskapsmappning med WindowsFormsHost-elementet
Elementet WindowsFormsHost översätter WPF-standardegenskaper till motsvarande Windows Forms med hjälp av följande översättningstabell.
| Värd för Windows Presentation Foundation | Windows-formulär | Samverkansbeteende |
|---|---|---|
| Background (System.Windows.Media.Brush) |
BackColor (System.Drawing.Color) |
Elementet WindowsFormsHost anger egenskapen för BackColor den värdbaserade kontrollen och BackgroundImage egenskapen för den värdbaserade kontrollen. Mappningen utförs med hjälp av följande regler: – Om Background är en solid färg konverteras den och används för att ange BackColor egenskapen för den värdbaserade kontrollen. Egenskapen BackColor har inte angetts för den värdbaserade kontrollen eftersom den värdbaserade kontrollen kan ärva värdet för BackColor egenskapen. Obs: Värdkontrollen stöder inte transparens. Alla färger som tilldelats måste BackColor vara helt ogenomskinliga, med ett alfavärde på 0xFF. – Om Background inte är en solid färg, skapar kontrollen en bitmapp från egenskapen WindowsFormsHost. Kontroll WindowsFormsHost tilldelar denna bitmap till egenskapen BackgroundImage för den värdsatta kontrollen. Detta ger en effekt som liknar transparens. Not: Du kan åsidosätta det här beteendet eller ta bort egenskapsmappningen Background . |
| Cursor | Cursor | Om standardmappningen inte har ändrats kommer WindowsFormsHost-kontrollen att gå igenom sin överordnade hierarki tills den hittar en överordnad med Cursor-egenskapen inställd. Det här värdet översätts till närmaste motsvarande Windows Forms-markör. Om standardmappningen för ForceCursor egenskapen inte har omtilldelats stoppas bläddrering på den första överordnade med ForceCursor inställd på true. |
| FlowDirection (System.Windows.FlowDirection) |
RightToLeft (System.Windows.Forms.RightToLeft) |
LeftToRight mappar till No. RightToLeft mappar till Yes. Inherit är inte kartlagd. FlowDirection.RightToLeft mappar till RightToLeft.Yes. |
| FontStyle | Style på den värdbaserade kontrollens System.Drawing.Font | Uppsättningen WPF-egenskaper översätts till en motsvarande Font. När en av dessa egenskaper ändras skapas en ny Font . För Normal: Italic är inaktiverad. För Italic eller Oblique: Italic är aktiverat. |
| FontWeight | Style på den värdbaserade kontrollens System.Drawing.Font | Uppsättningen WPF-egenskaper översätts till en motsvarande Font. När en av dessa egenskaper ändras skapas en ny Font . För Black, Bold, DemiBold, ExtraBold, Heavy, Medium, SemiBold eller UltraBold: Bold är aktiverad. För ExtraLight, Light, Normal, Regular, Thineller UltraLight: Bold är inaktiverad. |
| FontFamily FontSize FontStretch FontStyle FontWeight |
Font (System.Drawing.Font) |
Uppsättningen WPF-egenskaper översätts till en motsvarande Font. När en av dessa egenskaper ändras skapas en ny Font . Den värdbaserade Windows Forms-kontrollen ändrar storlek baserat på teckenstorleken. Teckenstorleken i WPF uttrycks som en nittiosjättedel av en tum och i Windows Forms som en sjuttiondedel av en tum. Motsvarande konvertering är: Teckenstorlek för Windows Forms = WPF-teckenstorlek * 72,0 / 96,0. |
| Foreground (System.Windows.Media.Brush) |
ForeColor (System.Drawing.Color) |
Egenskapsmappningen Foreground utförs med hjälp av följande regler: - Om Foreground är en SolidColorBrush, använd Color för ForeColor. – Om Foreground är en GradientBrush, använd färgen på GradientStop med det lägsta förskjutningsvärdet för ForeColor. - För alla andra Brush-typer, lämna ForeColor oförändrad. Det innebär att standardvärdet används. |
| IsEnabled | Enabled | När IsEnabled är inställt anger WindowsFormsHost elementet Enabled egenskapen på den värdbaserade kontrollen. |
| Padding | Padding | Alla fyra värdena för Padding egenskapen i den värdbaserade Windows Forms-kontrollen är inställda på samma Thickness värde. - Värden som är större än MaxValue är inställda på MaxValue. – Värden som är mindre än MinValue är inställda på MinValue. |
| Visibility | Visible |
-
Visible mappar till Visible = true. Kontrollen för Windows Forms är synlig. Det rekommenderas inte att uttryckligen ange egenskapen Visible på den värdbaserade kontrollen till false.- Collapsed mappar till Visible = true eller false. Den värdbaserade Windows Forms-kontrollen ritas inte och dess område är komprimerat.- Hidden : Windows Forms-kontrollen som är värdbaserad upptar utrymme i layouten, men den är inte synlig. I det här fallet är egenskapen inställd på Visible true. Det rekommenderas inte att uttryckligen ange egenskapen Visible på den värdbaserade kontrollen till false. |
Anslutna egenskaper för containerelement stöds fullt ut av elementet WindowsFormsHost .
Mer information finns i Genomgång: Mappa egenskaper med hjälp av WindowsFormsHost-elementet.
Uppdateringar av överordnade egenskaper
Ändringar i de flesta överordnade egenskaper föranleder meddelanden till det hostade barnkontrollen. I följande lista beskrivs egenskaper som inte orsakar meddelanden när deras värden ändras.
Om du till exempel ändrar värdet Background för -egenskapen för elementet WindowsFormsHostBackColor ändras inte egenskapen för den värdbaserade kontrollen.
Egenskapsmappning med ElementHost-kontrollen
Följande egenskaper ger inbyggda ändringsmeddelanden. Anropa inte metoden OnPropertyChanged när du mappar dessa egenskaper:
Automatisk storlek
Bakgrundsfärg
Bakgrundsbild
Bakgrundsbildslayout
BindingContext
CausesValidation
Kontextmeny
ContextMenuStrip
Markör
Docka
Aktiverad
Teckensnitt
ForeColor
Plats
Marginal
Utfyllnad
Förälder
Region
Höger till vänster
Storlek
TabIndex
TabStop
SMS
Synlig
Kontrollen ElementHost översätter standardegenskaperna för Windows Forms till deras WPF-motsvarigheter med hjälp av följande översättningstabell.
Mer information finns i Genomgång: Mappa egenskaper med hjälp av ElementHost-kontrollen.
| Hosting av Windows Forms | Windows Presentation Foundation | Samverkansbeteende |
|---|---|---|
| BackColor (System.Drawing.Color) |
Background (System.Windows.Media.Brush) på det värdbaserade elementet |
Om du anger den här egenskapen måste du ange en ommålning med en ImageBrush. Om egenskapen BackColorTransparent är inställd till false (standardvärdet) baseras detta ImageBrush på ElementHost-kontrollens utseende, inklusive dess egenskaper BackColor, BackgroundImage, BackgroundImageLayout, och eventuella bifogade färghanterare.Om egenskapen BackColorTransparent har angetts till true, baseras ImageBrush på utseendet av kontrollens överordnade ElementHost, inklusive den överordnade kontrollens BackColor, BackgroundImage, BackgroundImageLayout egenskaper och eventuella bifogade målningshanterare. |
| BackgroundImage (System.Drawing.Image) |
Background (System.Windows.Media.Brush) på det värdbaserade elementet |
Om du anger den här egenskapen får du samma beteende som beskrivs för mappningen BackColor . |
| BackgroundImageLayout | Background (System.Windows.Media.Brush) på det värdbaserade elementet |
Om du anger den här egenskapen får du samma beteende som beskrivs för mappningen BackColor . |
| Cursor (System.Windows.Forms.Cursor) |
Cursor (System.Windows.Input.Cursor) |
Standardmarkören för Windows Forms översätts till motsvarande WPF-standardmarkör. Om Windows Forms inte är en standardmarkör tilldelas standardvärdet. |
| Enabled | IsEnabled | När Enabled är angiven ställer ElementHost kontrollen in IsEnabled-egenskapen på det hostade elementet. |
| Font (System.Drawing.Font) |
FontFamily FontSize FontStretch FontStyle FontWeight |
Värdet Font översätts till en motsvarande uppsättning WPF-teckensnittsegenskaper. |
| Bold | FontWeight på värdbaserat element | Om Bold är true, så är värdet för FontWeight inställt på Bold.Om Bold är false, så är värdet för FontWeight inställt på Normal. |
| Italic | FontStyle på värdbaserat element | Om Italic är true, så är värdet för FontStyle inställt på Italic.Om Italic är false, så är värdet för FontStyle inställt på Normal. |
| Strikeout | TextDecorations på värdbaserat element | Gäller endast när du hanterar en TextBlock kontroll. |
| Underline | TextDecorations på värdbaserat element | Gäller endast när du hanterar en TextBlock kontroll. |
| RightToLeft (System.Windows.Forms.RightToLeft) |
FlowDirection (FlowDirection) |
No mappar till LeftToRight. Yes mappar till RightToLeft. |
| Visible | Visibility | Kontrollen ElementHost anger Visibility egenskapen för det värdbaserade elementet med hjälp av följande regler: - Visible = true mappar till Visible.- Visible = false mappar till Hidden. |
Se även
.NET Desktop feedback