Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Technologie Windows Forms a WPF mají dva podobné, ale různé modely vlastností. Mapování vlastností podporuje spolupráci mezi těmito dvěma architekturami a poskytuje následující možnosti:
Usnadňuje mapování relevantních změn vlastností v hostitelském prostředí na hostovaný ovládací prvek nebo prvek.
Poskytuje výchozí zpracování pro mapování nejčastěji používaných vlastností.
Umožňuje snadné odebrání, přepsání nebo rozšíření výchozích vlastností.
Zajišťuje, aby změny hodnot vlastností na hostiteli byly automaticky zjištěny a přeloženy do hostovaného ovládacího prvku nebo prvku.
Poznámka:
Události změny vlastností nejsou propagovány v hierarchii hostitelského ovládacího prvku nebo prvku. Překlad vlastností se neprovádí, pokud se místní hodnota vlastnosti nezmění z důvodu přímého nastavení, stylů, dědičnosti, datové vazby nebo jiných mechanismů, které mění hodnotu vlastnosti.
"Vlastnost PropertyMap použijte u elementu WindowsFormsHost a vlastnost PropertyMap u ovládacího prvku ElementHost k přístupu k mapování vlastností."
Mapování vlastností pomocí elementu WindowsFormsHost
Element WindowsFormsHost přeloží výchozí vlastnosti WPF na jejich ekvivalenty Modelu Windows Forms pomocí následující tabulky překladu.
| Hostování Windows Presentation Foundation | Windows Forms | Chování spolupráce |
|---|---|---|
| Background (System.Windows.Media.Brush) |
BackColor (System.Drawing.Color) |
Element WindowsFormsHost nastaví BackColor vlastnost hostovaného ovládacího prvku a BackgroundImage vlastnost hostovaného ovládacího prvku. Mapování se provádí pomocí následujících pravidel: - Pokud je Background jednolitá barva, je převedena a použita k nastavení vlastnosti BackColor v hostovaném ovládacím prvku. Vlastnost BackColor není nastavena na hostovaný ovládací prvek, protože hostovaný ovládací prvek může dědit hodnotu BackColor vlastnosti. Poznámka: Hostovaný ovládací prvek nepodporuje transparentnost. Všechny barvy přiřazené BackColor musí být zcela neprůsvitné s alfa hodnotou 0xFF. - Pokud Background není plná barva, ovládací prvek WindowsFormsHost vytvoří bitmapu z vlastnosti Background. Ovládací WindowsFormsHost prvek přiřadí tento rastrový obrázek vlastnosti BackgroundImage hostovaného ovládacího prvku. To poskytuje efekt, který je podobný transparentnosti. Poznámka: Toto chování můžete přepsat nebo můžete odebrat vlastnost Background mapování. |
| Cursor | Cursor | Pokud výchozí mapování nebylo znovu přiřazeno, WindowsFormsHost ovládací prvek prochází svou hierarchií předků, dokud nenajde předka s nastavenou vlastností Cursor. Tato hodnota se přeloží na nejbližší odpovídající kurzor Modelu Windows Forms. Pokud výchozí mapování vlastnosti ForceCursor nebylo znovu přiřazeno, procházení se zastaví u prvního nadřazeného objektu s nastavenou ForceCursor hodnotou true. |
| FlowDirection (System.Windows.FlowDirection) |
RightToLeft (System.Windows.Forms.RightToLeft) |
LeftToRight se mapuje na No. RightToLeft se mapuje na Yes. Inherit není namapován. FlowDirection.RightToLeft se mapuje na RightToLeft.Yes. |
| FontStyle | Style na hostovaném ovládacím prvku System.Drawing.Font | Sada vlastností WPF je přeložena do odpovídající Font. Když se změní jedna z těchto vlastností, vytvoří se nová Font . Pro Normal: Italic je zakázáno. Pro Italic nebo Oblique: Italic je povolena. |
| FontWeight | Style na hostovaném ovládacím prvku System.Drawing.Font | Sada vlastností WPF je přeložena do odpovídající Font. Když se změní jedna z těchto vlastností, vytvoří se nová Font . Pro Black, , BoldDemiBold, , ExtraBold, , HeavyMediumSemiBoldnebo UltraBold: Bold je povolena. Pro ExtraLight, Light, Normal, Regular, Thin nebo UltraLight: Bold je deaktivováno. |
| FontFamily FontSize FontStretch FontStyle FontWeight |
Font (System.Drawing.Font) |
Sada vlastností WPF je přeložena do odpovídající Font. Když se změní jedna z těchto vlastností, vytvoří se nová Font . Hostovaný ovládací prvek Windows Forms změní velikost na základě velikosti písma. Velikost písma ve WPF je vyjádřena jako jedna devadesátá šestá z palce a ve Windows Forms jako jedna 000 sekunda palce. Odpovídající převod je: Velikost písma Windows Forms = velikost písma WPF * 72.0 / 96.0. |
| Foreground (System.Windows.Media.Brush) |
ForeColor (System.Drawing.Color) |
Mapování Foreground vlastností se provádí pomocí následujících pravidel: - Pokud je ForegroundSolidColorBrush, použijte Color pro ForeColor. - Pokud je ForegroundGradientBrush, pak použijte barvu GradientStop s nejnižší hodnotou posunu pro ForeColor. - U jakéhokoli jiného Brush typu ponechte ForeColor beze změny. To znamená, že se použije výchozí hodnota. |
| IsEnabled | Enabled | Když je IsEnabled nastaven, WindowsFormsHost element nastaví vlastnost Enabled na hostovaném ovládacím prvku. |
| Padding | Padding | Všechny čtyři hodnoty Padding vlastnosti hostovaného ovládacího prvku Windows Forms jsou nastaveny na stejnou Thickness hodnotu. - Hodnoty větší než MaxValue jsou nastaveny na MaxValue. - Hodnoty menší, než MinValue jsou nastaveny MinValue. |
| Visibility | Visible |
-
Visible mapuje na Visible = true. Hostovaný ovládací prvek Windows Forms je viditelný. Explicitní nastavení vlastnosti Visible na hostovaném ovládacím prvku na false se nedoporučuje.- Collapsed mapuje na Visible = true nebo false. Hostovaný ovládací prvek Windows Forms není vykreslen a jeho oblast je sbalená.- Hidden : Hostovaný ovládací prvek Windows Forms zabírá prostor v rozložení, ale není viditelný. V tomto případě je vlastnost Visible nastavena na true. Explicitní nastavení vlastnosti Visible na hostovaném ovládacím prvku na false se nedoporučuje. |
Vlastnosti přiřazené prvkům kontejneru jsou plně podporovány prvkem WindowsFormsHost.
Další informace naleznete v tématu Návod: Mapování vlastností pomocí elementu WindowsFormsHost.
Aktualizace nadřazených vlastností
Změny většiny nadřazených vlastností způsobují oznámení podřízeného ovládacího prvku v hostitelském prostředí. Následující seznam popisuje vlastnosti, které nezpůsobují oznámení při změně jejich hodnot.
Pokud například změníte hodnotu Background vlastnosti WindowsFormsHost prvku, BackColor vlastnost hostovaného ovládacího prvku se nezmění.
Mapování vlastností pomocí ovládacího prvku ElementHost
Následující vlastnosti poskytují integrované oznámení o změnách. Při mapování těchto vlastností nevolejte metodu OnPropertyChanged :
Automatické nastavení velikosti
Barva pozadí
Obrázek na pozadí
Rozložení obrázku na pozadí
Kontext propojení
Způsobuje kontrolu platnosti
Kontextové menu
KontextMenuStrip
Kurzor
Přístav
Povoleno
Písmo
ForeColor
Umístění
Marže
Polstrování
Rodič
Región
ZpravaDoleva
Velikost
TabIndex
Tabstop
Text
Viditelný
Ovládací ElementHost prvek překládá výchozí vlastnosti Modelu Windows Forms na jejich ekvivalenty WPF pomocí následující tabulky překladu.
Další informace naleznete v tématu Návod: Mapování vlastností pomocí elementHost ovládacího prvku.
| Hostování Windows Forms | Windows Presentation Foundation | Chování spolupráce |
|---|---|---|
| BackColor (System.Drawing.Color) |
Background (System.Windows.Media.Brush) v hostovaném elementu |
Nastavení této vlastnosti způsobí vynucené překreslení s využitím ImageBrush. Pokud je vlastnost BackColorTransparent nastavena na false (výchozí hodnota), je ImageBrush založeno na vzhledu ElementHost ovládacího prvku, včetně jeho BackColor, BackgroundImage, BackgroundImageLayout vlastností a všech připojených obslužných rutin pro barvení.Pokud je vlastnost BackColorTransparent nastavena na true, ImageBrush je založen na vzhledu nadřazeného ElementHost ovládacího prvku, včetně BackColor, BackgroundImage a BackgroundImageLayout vlastností tohoto prvku a veškeré připojené obslužné rutiny kreslení. |
| BackgroundImage (System.Drawing.Image) |
Background (System.Windows.Media.Brush) v hostovaném elementu |
Nastavení této vlastnosti způsobí stejné chování, které je popsáno ve BackColor mapování. |
| BackgroundImageLayout | Background (System.Windows.Media.Brush) v hostovaném elementu |
Nastavení této vlastnosti způsobí stejné chování, které je popsáno ve BackColor mapování. |
| Cursor (System.Windows.Forms.Cursor) |
Cursor (System.Windows.Input.Cursor) |
Standardní kurzor Windows Forms se přeloží na odpovídající standardní kurzor WPF. Pokud Windows Forms není standardní kurzor, přiřadí se výchozí hodnota. |
| Enabled | IsEnabled | Když je Enabled nastavena, ovládací prvek ElementHost nastaví vlastnost IsEnabled na hostovaném prvku. |
| Font (System.Drawing.Font) |
FontFamily FontSize FontStretch FontStyle FontWeight |
Hodnota Font se přeloží do odpovídající sady vlastností písma WPF. |
| Bold | FontWeight na hostovaném prvku | Pokud Bold je true, FontWeight je nastavena na Bold.Pokud Bold je false, FontWeight je nastavena na Normal. |
| Italic | FontStyle na hostovaném prvku | Pokud Italic je true, FontStyle je nastavena na Italic.Pokud Italic je false, FontStyle je nastavena na Normal. |
| Strikeout | TextDecorations na hostovaném prvku | Platí pouze při hostování TextBlock ovládacího prvku. |
| Underline | TextDecorations na hostovaném prvku | Platí pouze při hostování TextBlock ovládacího prvku. |
| RightToLeft (System.Windows.Forms.RightToLeft) |
FlowDirection (FlowDirection) |
No se mapuje na LeftToRight. Yes se mapuje na RightToLeft. |
| Visible | Visibility | Ovládací ElementHost prvek nastaví Visibility vlastnost hostovaného elementu pomocí následujících pravidel: - Visible = true mapuje na Visible.- Visible = false mapuje na Hidden. |
Viz také
.NET Desktop feedback