Aracılığıyla paylaş


Windows Forms ve WPF Özellik Eşlemesi

Windows Forms ve WPF teknolojilerinin iki benzer ama farklı özellik modeli vardır. Özellik eşleme 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 tespit edilip barındırılan denetime veya öğeye aktarılmasını sağlar.

Not

Ö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.

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

WindowsFormsHost Öğesi ile Özellik Eşlemesi

WindowsFormsHost öğesi, 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)
WindowsFormsHost öğesi barındırılan denetimin BackColor özelliğini ve barındırılan denetimin BackgroundImage ö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 denetimin BackColor özelliğini ayarlamak için kullanılır. Barındırılan denetim BackColor özelliğinin değerini devralabileceğinden, barındırılan denetimde BackColor özelliği ayarlanmaz. Not: Barındırılan denetim saydamlığı desteklemez. BackColor atanan tüm renkler, alfa değeri 0xFF olan tamamen opak olmalıdır.

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

Varsayılan eşleme ForceCursor özelliği için yeniden atanmadıysa, ForceCursortrueolarak ayarlanmış ilk üst öğede dolaşım durur.
FlowDirection

(System.Windows.FlowDirection)
RightToLeft

(System.Windows.Forms.RightToLeft)
LeftToRight Noile eşleşir.

RightToLeft Yes'e eşlenir.

Inherit eşlenmedi.

FlowDirection.RightToLeft RightToLeft.Yesile eşleştirilir.
FontStyle Style barındırılan denetimin System.Drawing.Font üzerinde WPF özellikleri kümesi, karşılık gelen bir Font'a çevrilir. Bu özelliklerden biri değiştiğinde yeni bir Font oluşturulur. Normaliçin: Italic devre dışı bırakıldı. Italic veya Obliqueiçin: Italic etkinleştirilir.
FontWeight Barındırılan denetimin Style üzerindeki System.Drawing.Font WPF özellikleri kümesi, karşılık gelen Font'e çevrilir. Bu özelliklerden biri değiştiğinde yeni bir Font oluşturulur. Blackiçin , Bold, DemiBold, ExtraBold, Heavy, Medium, SemiBoldveya UltraBold: Bold etkinleştirilir. ExtraLightiçin , Light, Normal, Regular, Thinveya UltraLight: Bold devre dışı bırakılır.
FontFamily

FontSize

FontStretch

FontStyle

FontWeight
Font

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

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)
Foreground özellik eşlemesi aşağıdaki kurallar kullanılarak gerçekleştirilir:

- Foreground bir SolidColorBrushise, ForeColoriçin Color kullanın.
- Eğer Foreground bir GradientBrushise, GradientStop'nin en düşük uzaklık değerine sahip rengini ForeColoriçin kullanın.
- Diğer herhangi bir Brush türü için, ForeColor değişmeden bırakın. Bu, varsayılanın kullanıldığı anlamına gelir.
IsEnabled Enabled IsEnabled ayarlandığında, WindowsFormsHost öğesi barındırılan denetimde Enabled özelliğini ayarlar.
Padding Padding Barındırılan Windows Forms denetimindeki Padding özelliğinin dört değeri de aynı Thickness değerine ayarlanır.

- MaxValue'den büyük değerler MaxValueolarak ayarlanır.
- MinValue'den küçük değerler MinValueolarak ayarlanır.
Visibility Visible - Visible Visible = trueile eşlenir. Barındırılan Windows Forms denetimi görünür. Barındırılan denetimdeki Visible özelliğini açıkça false olarak ayarlamak önerilmez.
- Collapsed, Visible = true'e veya false'e eşleşir. 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, Visible özelliği trueolarak ayarlanır. Barındırılan denetimdeki Visible özelliğini açıkça false olarak ayarlamak önerilmez.

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

Daha fazla bilgi için bkz. Rehber: WindowsFormsHost Elemanını Kullanarak Özellikleri Eşleme.

Ana Özelliklere Güncellemeler

Ü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, WindowsFormsHost öğesinin Background özelliğinin değerini değiştirirseniz barındırılan denetimin BackColor ö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 OnPropertyChanged yöntemini çağırmayın:

  • Otomatik Boyutlandırma

  • Arka Plan Rengi

  • BackgroundImage

  • Arka Plan Görüntü Düzeni

  • BindingContext

  • DoğrulamaTetikler

  • Bağlam Menüsü

  • "ContextMenuStrip"

  • İmleç

  • Rıhtım

  • Etkinleştirildi

  • Yazı tipi

  • ForeColor

  • Yer

  • Kenar boşluğu

  • Doldurma

  • Ebeveyn

  • Bölge

  • Sağdan Sola

  • Boyut

  • TabIndex

  • Tabstop

  • Metin

  • Görünür

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

Daha fazla bilgi için bkz. Adım Adım Rehber: ElementHost Denetimi Kullanarak Özellikleri Eşleme.

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

(System.Drawing.Color)
Background

(System.Windows.Media.Brush) barındırılan eleman üzerinde
Bu özelliğin ayarlanması, bir ImageBrushile yeniden boyamaya zorlar. BackColorTransparent özelliği false (varsayılan değer) olarak ayarlanırsa, bu ImageBrushBackColor, BackgroundImage, BackgroundImageLayout özellikleri ve ekli boya işleyicileri de dahil olmak üzere ElementHost denetiminin görünümünü temel alır.

BackColorTransparent özelliği trueolarak ayarlanırsa, ImageBrush, üst öğesi ElementHost denetimi olan nesnenin, üst öğenin BackColor, BackgroundImage, BackgroundImageLayout özellikleri ve ekli boya işleyicileri dahil, görünümüne dayanır.
BackgroundImage

(System.Drawing.Image)
Background

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

(System.Windows.Media.Brush) barındırılan öğede
Bu özelliğin ayarlanması, BackColor eşlemesi için açıklanan davranışa 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 imleç atanır.
Enabled IsEnabled Enabled ayarlandığında, ElementHost denetimi barındırılan öğede IsEnabled özelliğini ayarlar.
Font

(System.Drawing.Font)
FontFamily

FontSize

FontStretch

FontStyle

FontWeight
Font değeri, karşılık gelen WPF yazı tipi özellikleri kümesine çevrilir.
Bold Barındırılan öğede FontWeight Bold trueise FontWeightBoldolarak ayarlanır.

Bold falseise FontWeightNormalolarak ayarlanır.
Italic Barındırılan öğede FontStyle Italic trueise FontStyleItalicolarak ayarlanır.

Italic falseise FontStyleNormalolarak ayarlanır.
Strikeout Barındırılan öğede TextDecorations Yalnızca TextBlock denetimi barındırırken geçerlidir.
Underline Barındırılan öğe üzerinde TextDecorations Yalnızca TextBlock denetimini barındırdığı zaman geçerlidir.
RightToLeft

(System.Windows.Forms.RightToLeft)
FlowDirection

(FlowDirection)
No LeftToRight'e eşlenir.

Yes RightToLeftile eşleştirilir.
Visible Visibility ElementHost denetimi, barındırılan öğedeki Visibility özelliğini aşağıdaki kuralları kullanarak ayarlar:

- Visible = true Visibleile eşleşir.
- Visible = false Hiddenile eşleştirir.

Ayrıca bkz.