Windows Forms ve WPF Özelliğini Eşleme

Windows Forms ve WPF teknolojilerinin iki benzer ama farklı özellik modeli vardır. Özellik eşlemesi iki mimari arasında birlikte çalışabilirliği destekler ve aşağıdaki özellikleri sağlar:

  • Konak ortamındaki ilgili özellik değişikliklerini barındırılan denetime veya öğeye eşlemeyi kolaylaştırır.

  • En yaygın kullanılan özellikleri eşlemek için varsayılan işleme sağlar.

  • Varsayılan özellikleri kolayca kaldırmaya, geçersiz kılmaya veya genişletmeye olanak sağlar.

  • Konakta özellik değeri değişikliklerinin otomatik olarak algılandığından ve barındırılan denetime veya öğeye çevrilene kadar devam eder.

Not

Özellik değişikliği olayları barındırma denetimi veya öğe hiyerarşisine yayılmaz. Özelliğin yerel değeri doğrudan ayar, stiller, devralma, veri bağlama veya özelliğin değerini değiştiren diğer mekanizmalar nedeniyle değişmezse özellik çevirisi gerçekleştirlanmaz.

Özellik PropertyMap eşlemeye erişmek WindowsFormsHost için öğesinde PropertyMap özelliğini ve ElementHost denetimin özelliğini kullanın.

WindowsFormsHost Öğesi ile Özellik Eşleme

öğesi, WindowsFormsHost varsayılan WPF özelliklerini aşağıdaki çeviri Windows Forms eşdeğerlerine çevirir.

Windows Presentation Foundation barındırma Windows Forms Birlikte çalışma davranışı
Background

(System.Windows.Media.Brush)
BackColor

(System.Drawing.Color)
WindowsFormsHostöğesi BackColor barındırılan denetimin özelliğini ve BackgroundImage barındırılan denetimin özelliğini ayarlar. Eşleme aşağıdaki kurallar kullanılarak gerçekleştirilir:

- Background Düz bir renkse, dönüştürülür ve barındırılan BackColor denetimin özelliğini ayarlamak için kullanılır. Barındırılan BackColor denetim özelliğin değerini devralana kadar özelliği barındırılan denetimde BackColor ayarlanmaz. Not: Barındırılan denetim saydamlığı desteklemez. Atanan tüm BackColor renkler, tam olarak opak olmalı ve alfa değer olarak 0xFF.

- Background Düz bir renk yoksa, denetim WindowsFormsHost özelliğinden bir bit eşlem Background oluşturur. Denetim WindowsFormsHost bu bit eşlemi BackgroundImage barındırılan denetimin özelliğine atar. Bu, saydamlığa benzer bir etki sağlar. Not: Bu davranışı geçersiz kabilirsiniz veya özellik eşlemesini kaldırabilirsiniz.
Cursor Cursor Varsayılan eşleme yeniden atanmamışsa denetim, özellik kümesine sahip bir üst değer bulana WindowsFormsHost kadar üst Cursor hiyerarşisinde çapraz geçişler. Bu değer, Formlar imlecine en yakın Windows çevrilir.

Özelliğin varsayılan eşlemesi yeniden atanmamışsa, geçiş değeri olarak ayarlanmış ilk ForceCursor üst ForceCursor değerde true durur.
FlowDirection

(System.Windows.FlowDirection)
RightToLeft

(System.Windows.Forms.RightToLeft)
LeftToRight ile No eşler.

RightToLeft ile Yes eşler.

Inherit eşlenmemiş.

FlowDirection.RightToLeft ile RightToLeft.Yes eşler.
FontStyle Style barındırılan denetimin System.Drawing.Font WPF özellikleri kümesi karşılık gelen bir içine Font çevrilir. Bu özelliklerden biri değişirse yeni Font bir oluşturulur. için Normal devre Italic dışıdır. Italicveya Oblique için : Italic etkindir.
FontWeight Style barındırılan denetimin System.Drawing.Font WPF özellikleri kümesi karşılık gelen bir içine Font çevrilir. Bu özelliklerden biri değişirse yeni Font bir oluşturulur. Black, Bold , , , DemiBold , , veya için : ExtraBoldHeavyMediumSemiBoldUltraBoldBold etkindir. ExtraLight, , , , veya için : devre LightNormalRegularThinUltraLightBold dışıdır.
FontFamily

FontSize

FontStretch

FontStyle

FontWeight
Font

(System.Drawing.Font)
WPF özellikleri kümesi karşılık gelen bir içine Font çevrilir. Bu özelliklerden biri değişirse yeni Font bir oluşturulur. Barındırılan Formlar Windows, yazı tipi boyutuna göre yeniden boyutlandırılır.

WPF'deki yazı tipi boyutu bir inçin doksan altıda biri, Windows Formlar'da ise bir inçin yetmiş saniyesi olarak ifade edildi. Karşılık gelen dönüştürme şu şekildedir:

Windows Forms yazı tipi boyutu = WPF yazı tipi boyutu * 72.0 / 96.0.
Foreground

(System.Windows.Media.Brush)
ForeColor

(System.Drawing.Color)
Özellik Foreground eşlemesi aşağıdaki kurallar kullanılarak gerçekleştirilir:

- bir ForegroundSolidColorBrush ise, için ColorForeColor kullanın.
- Foreground bir GradientBrush ise, için en düşük uzaklık GradientStop değerine sahip olan rengini ForeColor kullanın.
- Diğer Brush türler için ForeColor değiştirmeden bırakın. Bu, varsayılan değerin kullanılır olduğu anlamına gelir.
IsEnabled Enabled ayar IsEnabled olduğunda, WindowsFormsHost öğesi Enabled barındırılan denetimde özelliğini ayarlar.
Padding Padding Barındırılan Formlar Padding denetiminde özelliğin dört Windows aynı değere Thickness ayarlanır.

- büyüktür değerleri MaxValue olarak MaxValue ayarlanır.
- Küçük değerler MinValue olarak MinValue ayarlanır.
Visibility Visible - Visibleile Visible = true eşler. Barındırılan form Windows Forms denetimi görünür durumdadır. Barındırılan Visible denetimde özelliğini açıkça olarak false ayarlaması önerilmez.
- Collapsedveya ile Visible = truefalse eşler. Barındırılan Windows Forms denetimi çizilir ve alanı daraltılmış olur.
- Hidden: Barındırılan Windows Forms denetimi düzende yer kaplar, ancak görünür değildir. Bu durumda özelliği Visible olarak true ayarlanır. Barındırılan Visible denetimde özelliğini açıkça olarak false ayarlaması önerilmez.

Kapsayıcı öğelerine eklenen özellikler, öğesi tarafından tam olarak WindowsFormsHost de destekler.

Daha fazla bilgi için bkz. Adım adım kılavuz: WindowsFormsHost Öğesini Kullanarak Özellikleri Eşleme.

Üst Özelliklere Güncelleştirmeler

Çoğu üst özellikte yapılan değişiklikler, barındırılan alt denetim bildirimlerine neden olur. Aşağıdaki listede, değerleri değiştiklerinde bildirimlere neden olan özellikler açıklanmaz.

Örneğin, öğesinin özelliğinin Background değerini WindowsFormsHost değiştirirsiniz, BackColor barındırılan denetimin özelliği değişmez.

ElementHost Denetimi ile Özellik Eşleme

Aşağıdaki özellikler yerleşik değişiklik bildirimi sağlar. Bu özellikleri OnPropertyChanged eşlerken yöntemini çağırabilirsiniz:

  • AutoSize

  • Backcolor

  • BackgroundImage

  • Backgroundımagelayout

  • Bindingcontext

  • Causesvalidation

  • ContextMenu

  • ContextMenuStrip

  • Imleç

  • Dock

  • Etkin

  • Yazı tipi

  • Forecolor

  • Konum

  • Marj

  • İç Boşluk

  • Üst

  • Region

  • Righttoleft

  • Boyut

  • Tabındex

  • Tabstop

  • Metin

  • Görünür

ElementHostdenetim, aşağıdaki çeviri tablosunu kullanarak varsayılan Windows Forms özelliklerini WPF eşdeğerlerine dönüştürür.

Daha fazla bilgi için bkz. Walkthrough: ElementHost denetimini kullanarak özellikleri eşleme.

Windows Forms barındırma Windows Presentation Foundation Birlikte çalışabilirlik davranışı
BackColor

(System.Drawing.Color)
Background

System.Windows.Media.Brushbarındırılan öğede
Bu özelliği ayarlamak bir yeniden çizmeyi bir ile zorlar ImageBrush . BackColorTransparentÖzelliği olarak ayarlandıysa false (varsayılan değer), bu,, ImageBrushElementHostBackColorBackgroundImageBackgroundImageLayout özellikleri ve tüm bağlı boyama işleyicileri dahil olmak üzere denetimin görünümüne dayalıdır.

BackColorTransparentÖzelliği olarak ayarlandıysa, trueImageBrushElementHost üst öğe BackColor , BackgroundImageBackgroundImageLayout Özellikler ve ekli boyama işleyicileri dahil olmak üzere denetimin üstünün görünüşünü temel alır.
BackgroundImage

(System.Drawing.Image)
Background

System.Windows.Media.Brushbarındırılan öğede
Bu özelliğin ayarlanması, eşleme için açıklanan davranışa neden olur BackColor .
BackgroundImageLayout Background

System.Windows.Media.Brushbarındırılan öğede
Bu özelliğin ayarlanması, eşleme için açıklanan davranışa neden olur BackColor .
Cursor

(System.Windows.Forms.Cursor)
Cursor

(System.Windows.Input.Cursor)
Windows Forms standart imleç, ilgili WPF standart imlecine çevrilir. Windows Forms standart bir imleç değilse, varsayılan değer atanır.
Enabled IsEnabled Ayarlandığında Enabled , ElementHost Denetim IsEnabled barındırılan öğedeki özelliğini ayarlar.
Font

(System.Drawing.Font)
FontFamily

FontSize

FontStretch

FontStyle

FontWeight
FontDeğer, ılgılı WPF yazı tipi özellikleri kümesine çevrilir.
Bold FontWeight barındırılan öğede İse Boldtrue , FontWeight olarak ayarlanır Bold .

İse Boldfalse , FontWeight olarak ayarlanır Normal .
Italic FontStyle barındırılan öğede İse Italictrue , FontStyle olarak ayarlanır Italic .

İse Italicfalse , FontStyle olarak ayarlanır Normal .
Strikeout TextDecorations barındırılan öğede Yalnızca bir denetim barındırırken geçerlidir TextBlock .
Underline TextDecorations barındırılan öğede Yalnızca bir denetim barındırırken geçerlidir TextBlock .
RightToLeft

(System.Windows.Forms.RightToLeft)
FlowDirection

(FlowDirection)
No ile eşlenir LeftToRight .

Yes ile eşlenir RightToLeft .
Visible Visibility ElementHostDenetim, Visibility barındırılan öğedeki özelliği aşağıdaki kuralları kullanarak ayarlar:

- Visible = true ile eşlenir Visible .
- Visible = false ile eşlenir Hidden .

Ayrıca bkz.