Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A Windows Forms és a WPF technológiák két hasonló, de különböző tulajdonságmodellel rendelkeznek. tulajdonságleképezési támogatja a két architektúra közötti együttműködést, és a következő képességeket biztosítja:
Megkönnyíti a gazdakörnyezet releváns tulajdonságmódosításainak hozzárendelését az üzemeltetett vezérlőhöz vagy elemhez.
Alapértelmezett kezelést biztosít a leggyakrabban használt tulajdonságok leképezéséhez.
Lehetővé teszi az alapértelmezett tulajdonságok egyszerű eltávolítását, felülbírálását vagy kiterjesztését.
Biztosítja, hogy a rendszer automatikusan észlelje és lefordítsa a gazda gép tulajdonságérték-változásait az üzemeltetett vezérlőre vagy elemre.
Megjegyzés:
A tulajdonságmódosítási események nem propagálódnak az üzemeltetési vezérlőn vagy az elemhierarchián. A tulajdonságfordítás nem történik meg, ha egy tulajdonság helyi értéke nem változik a tulajdonság értékét módosító közvetlen beállítás, stílusok, öröklés, adatkötés vagy egyéb mechanizmusok miatt.
Használja a PropertyMap elem WindowsFormsHost tulajdonságát, a PropertyMap vezérlőelem ElementHost tulajdonságát pedig a tulajdonságleképezés eléréséhez.
Tulajdonságleképezés a WindowsFormsHost-elemmel
A WindowsFormsHost elem az alábbi fordítási táblázat használatával lefordítja az alapértelmezett WPF-tulajdonságokat a Windows Forms megfelelőire.
| A Windows Presentation Foundation üzemeltetése | Windows Forms | Együttműködés viselkedése |
|---|---|---|
| Background (System.Windows.Media.Brush) |
BackColor (System.Drawing.Color) |
A WindowsFormsHost elem beállítja az üzemeltetett vezérlő BackColor tulajdonságát és az üzemeltetett vezérlő BackgroundImage tulajdonságát. A leképezés a következő szabályok használatával történik: - Ha Background egyszínű, akkor átalakítják és felhasználják az üzemeltetett vezérlő BackColor tulajdonságának beállítására. A BackColor tulajdonság nincs beállítva az üzemeltetett vezérlőn, mert a üzemeltetett vezérlőelem örökölheti a BackColor tulajdonság értékét. Megjegyzés: Az üzemeltetett vezérlő nem támogatja az átláthatóságot. A BackColor hozzárendelt színeknek teljesen átlátszatlannak kell lenniük, 0xFF alfaértékkel. - Ha Background nem egyszínű, a WindowsFormsHost vezérlőelem bitképet hoz létre a Background tulajdonságból. A WindowsFormsHost vezérlő ezt a bitképet a üzemeltetett vezérlő BackgroundImage tulajdonságához rendeli. Ez az átláthatósághoz hasonló hatást biztosít. Megjegyzés: Felülbírálhatja ezt a viselkedést, vagy eltávolíthatja a Background tulajdonságleképezést. |
| Cursor | Cursor | Ha az alapértelmezett megfeleltetés nem lett újra hozzárendelve, a WindowsFormsHost vezérlőelem bejárja az elődhierarchiát, amíg meg nem talál egy elődöt, amelynek a Cursor tulajdonsága be van állítva. Ez az érték a legközelebbi megfelelő Windows Forms-kurzorra lesz lefordítva. Ha a ForceCursor tulajdonság alapértelmezett leképezése nem lett átrendezve, akkor a bejárás az első olyan elődnél leáll, amelynél a ForceCursor tulajdonság trueértékre lett állítva. |
| FlowDirection (System.Windows.FlowDirection) |
RightToLeft (System.Windows.Forms.RightToLeft) |
LeftToRight a No-re térképeződik. RightToLeft a Yes-re térképeződik. Inherit nincs megfeleltetve. FlowDirection.RightToLeft a RightToLeft.Yes-re térképeződik. |
| FontStyle | Style a hosztolt vezérlő System.Drawing.Font | A WPF-tulajdonságok halmaza a megfelelő Fontelemre lesz átalakítva. A tulajdonságok egyikének módosításakor egy új Font jön létre. Normalesetén: a Italic le van tiltva. Italic vagy Obliqueesetén: a Italic engedélyezve van. |
| FontWeight | Style a hosztolt vezérlő System.Drawing.Font | A WPF-tulajdonságok halmaza a megfelelő Fontelemre lesz átalakítva. A tulajdonságok egyikének módosításakor egy új Font jön létre. Black, Bold, DemiBold, ExtraBold, Heavy, Medium, SemiBoldvagy UltraBoldesetén: Bold engedélyezve van. ExtraLight, Light, Normal, Regular, Thinvagy UltraLightesetén: Bold le van tiltva. |
| FontFamily FontSize FontStretch FontStyle FontWeight |
Font (System.Drawing.Font) |
A WPF-tulajdonságok halmaza a megfelelő Fontelemre lesz átalakítva. A tulajdonságok egyikének módosításakor egy új Font jön létre. Az üzemeltetett Windows Forms vezérlő a betűméret alapján méreteződik át. A WPF-ben a betűméret egy hüvelyk kilencvenhatod része, a Windows Formsban pedig egy hüvelyk hetvenketted része. A megfelelő átalakítás a következő: Windows Forms betűméret = WPF betűméret * 72.0 / 96.0. |
| Foreground (System.Windows.Media.Brush) |
ForeColor (System.Drawing.Color) |
A Foreground tulajdonságleképezés a következő szabályok használatával történik: - Ha ForegroundSolidColorBrush, használja a Color a ForeColor-hoz. - Ha a Foreground egy GradientBrush, akkor használja a legalacsonyabb eltolási értékkel rendelkező GradientStop színét a ForeColorszámára. - Minden más Brush típus esetén hagyja változatlanul ForeColor. Ez azt jelenti, hogy a rendszer az alapértelmezett értéket használja. |
| IsEnabled | Enabled | Ha IsEnabled van beállítva, WindowsFormsHost elem beállítja a Enabled tulajdonságot az üzemeltetett vezérlőn. |
| Padding | Padding | Az üzemeltetett Windows Forms vezérlőelem Padding tulajdonságának mind a négy értéke ugyanarra a Thickness értékre van állítva. - A MaxValue értéknél nagyobb értékek MaxValue-re vannak beállítva. - A MinValue értéknél kisebb értékek MinValueértékre vannak állítva. |
| Visibility | Visible |
-
Visible leképezi Visible = true. Az üzemeltetett Windows Forms vezérlő látható. A Visible tulajdonság kifejezetten false-re történő beállítása az üzemeltetett vezérlőn nem ajánlott.- Collapsed Visible = true vagy false. Az üzemeltetett Windows Forms vezérlő nincs rajzolva, és a területe összecsukva van.- Hidden: Az üzemeltetett Windows Forms vezérlő helyet foglal el az elrendezésben, de nem látható. Ebben az esetben a Visible tulajdonság értéke true. A Visible tulajdonság kifejezetten false-re történő beállítása az üzemeltetett vezérlőn nem ajánlott. |
A tárolóelemekhez csatolt tulajdonságokat a WindowsFormsHost elem teljes mértékben támogatja.
További információ: Útmutató: Tulajdonságok leképezése a WindowsFormsHost elem használatával.
A szülőtulajdonságok frissítései
A legtöbb szülőtulajdonság módosítása értesítéseket okoz az üzemeltetett gyermekvezérlőnek. Az alábbi lista azokat a tulajdonságokat ismerteti, amelyek nem okoznak értesítéseket az értékek változásakor.
Ha például a Background elem WindowsFormsHost tulajdonságának értékét módosítja, az üzemeltetett vezérlő BackColor tulajdonsága nem változik.
Tulajdonságleképezés az ElementHost-vezérlővel
Az alábbi tulajdonságok beépített változásértesítést biztosítanak. Ne hívja meg a OnPropertyChanged metódust a tulajdonságok leképezésekor:
Automatikus méretezés
Háttérszín
Háttérkép
Háttérkép-elrendezés
AdatkapcsolatiKörnyezet
ÉrvényesítésKiváltása
kontextus menü
ContextMenuStrip
Kurzor
Dokk
Bekapcsolva
Betűtípus
ForeColor
Elhelyezkedés
Margó
Belső margó
Szülő
Régió
Jobbról balra
Méret
TabIndex
TabStop
Szöveg
Látható
A ElementHost vezérlő az alábbi fordítási táblázat használatával lefordítja az alapértelmezett Windows Forms-tulajdonságokat a WPF-ekvivalensekre.
További információ: Útmutató: Tulajdonságok leképezése az ElementHost-vezérlővel.
| Windows Forms üzemeltetése | Windows Presentation Foundation | Együttműködés viselkedése |
|---|---|---|
| BackColor (System.Drawing.Color) |
Background (System.Windows.Media.Brush) a üzemeltetett elemen |
Ha beállítja ezt a tulajdonságot, egy ImageBrushkóddal lesz újra festve. Ha a BackColorTransparent tulajdonság értéke false (az alapértelmezett érték), ez a ImageBrush a ElementHost vezérlőelem megjelenésén alapul, beleértve a BackColor, BackgroundImage, BackgroundImageLayout tulajdonságait és a csatlakoztatott festékkezelőket.Ha a BackColorTransparent tulajdonság értéke true, akkor a ImageBrush a ElementHost vezérlőelem szülőjének megjelenése alapján van meghatározva, beleértve a szülő BackColor, BackgroundImage, BackgroundImageLayout tulajdonságait és bármely csatolt festékkezelőt is. |
| BackgroundImage (System.Drawing.Image) |
Background (System.Windows.Media.Brush) a üzemeltetett elemen |
A tulajdonság beállítása ugyanazt a viselkedést eredményezi, amelyet a BackColor-megfeleltetésnél leírtak. |
| BackgroundImageLayout | Background (System.Windows.Media.Brush) a üzemeltetett elemen |
A tulajdonság beállítása ugyanazt a viselkedést eredményezi, amelyet a BackColor-megfeleltetésnél leírtak. |
| Cursor (System.Windows.Forms.Cursor) |
Cursor (System.Windows.Input.Cursor) |
A Windows Forms standard kurzora a megfelelő WPF standard kurzorra lesz lefordítva. Ha a Windows Forms nem szabványos kurzor, a program az alapértelmezettet rendeli hozzá. |
| Enabled | IsEnabled | Ha Enabled van beállítva, a ElementHost vezérlő beállítja a IsEnabled tulajdonságot a üzemeltetett elemen. |
| Font (System.Drawing.Font) |
FontFamily FontSize FontStretch FontStyle FontWeight |
A Font érték a WPF-betűtípusok megfelelő halmazába lesz lefordítva. |
| Bold | FontWeight tárhelyen lévő elemen | Ha Boldtrue, FontWeightBoldértékre van állítva.Ha Bold false, FontWeightNormalértékre van állítva. |
| Italic | FontStyle tárhelyen lévő elemen | Ha Italictrue, FontStyleItalicértékre van állítva.Ha Italic false, FontStyleNormalértékre van állítva. |
| Strikeout | TextDecorations tárhelyen lévő elemen | Csak TextBlock vezérlőelemek üzemeltetésére vonatkozik. |
| Underline | TextDecorations tárhelyen lévő elemen | Csak TextBlock vezérlőelemek üzemeltetésére vonatkozik. |
| RightToLeft (System.Windows.Forms.RightToLeft) |
FlowDirection (FlowDirection) |
No a LeftToRight-re térképeződik. Yes a RightToLeft-re térképeződik. |
| Visible | Visibility | A ElementHost vezérlőelem az alábbi szabályokkal állítja be a üzemeltetett elem Visibility tulajdonságát: - Visible = true hozzárendelése Visible-hez.- Visible = false hozzárendelése Hidden-hez. |
Lásd még
.NET Desktop feedback