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, ForceCursor true olarak 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
=
true ile 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 true olarak 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 true olarak 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
true ise FontWeightBoldolarak ayarlanır.Bold false ise FontWeightNormalolarak ayarlanır. |
Italic | Barındırılan öğede FontStyle |
Italic
true ise FontStyleItalicolarak ayarlanır.Italic false ise 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.
- ElementHost
- WindowsFormsHost
- WPF ve Win32 Birlikte Çalışma
- WPF ve Windows Forms Etkileşimi
- İzlenecek Yol: WindowsFormsHost Öğesini Kullanarak Özellikleri Eşleme
- İzlenecek Yol: ElementHost Denetimi Kullanarak Özellikleri Eşleme
.NET Desktop feedback