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 denetim veya öğeyle eşlemeyi kolaylaştırır.

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

  • Varsayılan özelliklerin kolayca kaldırılmasına, geçersiz kılınmasına veya genişletilmesine olanak tanır.

  • Konakta özellik değeri değişikliklerinin otomatik olarak algılanmasını ve barındırılan denetime veya öğeye çevrilmesini sağlar.

Dekont

Özellik değişikliği olayları barındırma denetimi veya öğe hiyerarşisinde 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ştirilmez.

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

WindowsFormsHost Öğesi ile Özellik Eşlemesi

öğesi, WindowsFormsHost aşağıdaki çeviri tablosunu kullanarak varsayılan WPF özelliklerini 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)
öğesi barındırılan WindowsFormsHostBackColor denetimin özelliğini ve barındırılan BackgroundImage denetimin özelliğini ayarlar. Eşleme aşağıdaki kurallar kullanılarak gerçekleştirilir:

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

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

Özelliği için ForceCursor varsayılan eşleme yeniden atanmamışsa, geçiş, olarak ayarlanmış trueolan ilk atada ForceCursor durur.
FlowDirection

(System.Windows.FlowDirection)
RightToLeft

(System.Windows.Forms.RightToLeft)
LeftToRightNoile eşler.

RightToLeftYesile eşler.

Inherit eşlenmedi.

FlowDirection.RightToLeftRightToLeft.Yesile eşler.
FontStyle Style barındırılan denetimin System.Drawing.Font WPF özellikleri kümesi, karşılık gelen öğesine çevrilir Font. Bu özelliklerden biri değiştiğinde yeni Font bir oluşturulur. Italic için Normaldevre dışıdır. veya ObliqueItalic için Italic etkindir.
FontWeight Style barındırılan denetimin System.Drawing.Font WPF özellikleri kümesi, karşılık gelen öğesine çevrilir Font. Bu özelliklerden biri değiştiğinde yeni Font bir oluşturulur. için Black, Bold, DemiBold, ExtraBold, Heavy, , Medium, SemiBoldveya UltraBold: Bold etkindir. için ExtraLight, Light, Normal, Regular, Thinveya UltraLight: Bold devre dışıdır.
FontFamily

FontSize

FontStretch

FontStyle

FontWeight
Font

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

WPF'de yazı tipi boyutu bir inçin doksan altıda biri, Windows Forms'da ise bir inçin yetmiş saniyesi olarak ifade edilir. Buna karşılık gelen dönüştürme:

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 ise ForegroundSolidColorBrush, için ForeColorkullanınColor.
- bir ise ForegroundGradientBrush, için en düşük uzaklık değeriyle ForeColordeğerinin rengini GradientStop kullanın.
- Başka Brush herhangi bir tür için değişmeden bırakın ForeColor . Bu, varsayılanın kullanıldığı anlamına gelir.
IsEnabled Enabled ayarlandığında IsEnabled , WindowsFormsHost öğesi barındırılan Enabled denetimde özelliğini ayarlar.
Padding Padding Barındırılan Padding Windows Forms denetimindeki özelliğin dört değeri de aynı Thickness değere ayarlanır.

- değerinden MaxValue büyük değerler olarak MaxValueayarlanır.
- değerinden MinValue küçük değerler olarak MinValueayarlanır.
Visibility Visible - VisibleVisible = trueile eşler. Barındırılan Windows Forms denetimi görünür. Barındırılan Visible denetimdeki özelliği açıkça olarak false olarak ayarlamak önerilmez.
- Collapsedveya falseile Visible = true eşler. Barındırılan Windows Forms denetimi çizilmemiş ve alanı daraltılmış.
- Hidden : Barındırılan Windows Forms denetimi düzende yer kaplar, ancak görünmez. Bu durumda özelliği Visible olarak trueayarlanır. Barındırılan Visible denetimdeki özelliği açıkça olarak false olarak ayarlamak önerilmez.

Kapsayıcı öğelerindeki ekli özellikler öğesi tarafından WindowsFormsHost tam olarak desteklenir.

Daha fazla bilgi için bkz . İzlenecek Yol: WindowsFormsHost Öğesini Kullanarak Özellikleri Eşleme.

Üst Özelliklere Güncelleştirmeler

Üst özelliklerin çoğunda yapılan değişiklikler barındırılan alt denetime bildirim göndermeye neden olur. Aşağıdaki listede, değerleri değiştiğinde bildirime neden olmayan özellikler açıklanmaktadır.

Örneğin, öğesinin özelliğinin BackgroundWindowsFormsHost değerini değiştirirseniz, 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 eşlerken yöntemini çağırmayın OnPropertyChanged :

  • AutoSize

  • Backcolor

  • Backgroundımage

  • Backgroundımagelayout

  • Bindingcontext

  • Causesvalidation

  • ContextMenu

  • ContextMenuStrip

  • Imleç

  • Dock

  • Etkin

  • Yazı tipi

  • Forecolor

  • Konum

  • Marj

  • Doldurma

  • Parent

  • Region

  • RightToLeft

  • Size

  • TabIndex

  • Tabstop

  • Metin

  • Görünür

Denetim, ElementHost aşağıdaki çeviri tablosunu kullanarak varsayılan Windows Forms özelliklerini WPF eşdeğerlerine çevirir.

Daha fazla bilgi için bkz . İzlenecek Yol: ElementHost Denetimini Kullanarak Özellikleri Eşleme.

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

(System.Drawing.Color)
Background

(System.Windows.Media.Brush) barındırılan öğede
Bu özelliğin ayarlanması ile ImageBrushyeniden boyamayı zorlar. BackColorTransparent Özelliği (varsayılan değer) olarak ayarlanırsa false , buImageBrush, denetimin ElementHost görünümüne BackColor(, , BackgroundImageBackgroundImageLayout özellikleri ve ekli boya işleyicileri dahil) dayanır.

BackColorTransparent özelliği olarak trueImageBrush ayarlanırsa, üst öğesinin ElementHost , BackgroundImageBackgroundImageLayout , özellikleri ve ekli boya işleyicileri de dahil olmak üzere denetimin üst BackColoröğesinin görünümünü temel alır.
BackgroundImage

(System.Drawing.Image)
Background

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

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

(System.Windows.Forms.Cursor)
Cursor

(System.Windows.Input.Cursor)
Windows Forms standart imleci, karşılık gelen WPF standart imlecine çevrilir. Windows Forms standart bir imleç değilse varsayılan olarak atanır.
Enabled IsEnabled Ayarlandığında Enabled , denetim barındırılan ElementHostIsEnabled öğede özelliğini ayarlar.
Font

(System.Drawing.Font)
FontFamily

FontSize

FontStretch

FontStyle

FontWeight
Font Değer, karşılık gelen WPF yazı tipi özellikleri kümesine çevrilir.
Bold FontWeight barındırılan öğede ise Boldtrue, FontWeight olarak Boldayarlanır.

ise Boldfalse, FontWeight olarak Normalayarlanır.
Italic FontStyle barındırılan öğede ise Italictrue, FontStyle olarak Italicayarlanır.

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

(System.Windows.Forms.RightToLeft)
FlowDirection

(FlowDirection)
NoLeftToRightile eşler.

YesRightToLeftile eşler.
Visible Visibility Denetim, ElementHost barındırılan Visibility öğedeki özelliğini aşağıdaki kuralları kullanarak ayarlar:

- Visible = trueVisibleile eşler.
- Visible = falseHiddenile eşler.

Ayrıca bkz.