Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Teknologi Windows Forms dan WPF memiliki dua model properti yang serupa tetapi berbeda. Pemetaan properti mendukung interoperaksi antara kedua arsitektur dan menyediakan kemampuan berikut:
Memudahkan untuk memetakan perubahan properti yang relevan di lingkungan host ke kontrol atau elemen yang dihosting.
Menyediakan penanganan default untuk memetakan properti yang paling umum digunakan.
Memungkinkan penghapusan, penggantian, atau penambahan properti bawaan dengan mudah.
Memastikan bahwa perubahan nilai properti pada host secara otomatis terdeteksi dan diterjemahkan ke kontrol atau elemen yang dihosting.
Nota
Peristiwa perubahan properti tidak disebarkan ke atas kontrol hosting atau hierarki elemen. Terjemahan properti tidak dilakukan jika nilai lokal properti tidak berubah karena pengaturan langsung, gaya, pewarisan, pengikatan data, atau mekanisme lain yang mengubah nilai properti.
Gunakan properti PropertyMap pada elemen WindowsFormsHost dan properti PropertyMap pada kontrol ElementHost untuk mengakses pemetaan properti.
Pemetaan Properti dengan Elemen WindowsFormsHost
Elemen WindowsFormsHost ini menerjemahkan properti WPF bawaan ke dalam setara Windows Forms menggunakan tabel terjemahan berikut.
| Penyediaan Windows Presentation Foundation | Formulir Windows | Perilaku interoperabilitas |
|---|---|---|
| Background Aku akan menemuinya.System.Windows.Media.Brush |
BackColor Aku akan menemuinya.System.Drawing.Color |
Elemen WindowsFormsHost menetapkan properti BackColor dan BackgroundImage dari kontrol yang dihosting. Pemetaan dilakukan dengan menggunakan aturan berikut: - Jika Background berwarna solid, itu dikonversi dan digunakan untuk mengatur BackColor properti kontrol yang dihosting. Properti BackColor tidak diatur pada kontrol yang dihosting, karena kontrol yang dihosting dapat mewarisi nilai BackColor properti. Nota: Kontrol yang dihosting tidak mendukung transparansi. Warna apa pun yang ditetapkan kepada BackColor harus sepenuhnya buram, dengan nilai alfa 0xFF. - Jika Background bukan warna solid, maka WindowsFormsHost kontrol tersebut membuat bitmap berdasarkan properti Background. Kontrol WindowsFormsHost menetapkan bitmap ini ke BackgroundImage properti kontrol yang dihosting. Ini memberikan efek yang mirip dengan transparansi. Nota: Anda dapat mengambil alih perilaku ini atau Anda dapat menghapus Background pemetaan properti. |
| Cursor | Cursor | Jika pemetaan default belum ditetapkan kembali, kontrol WindowsFormsHost akan melintasi hierarki leluhurnya hingga menemukan leluhur dengan properti Cursor yang ditetapkan. Nilai ini diterjemahkan ke kursor Formulir Windows terdekat yang sesuai. Jika pemetaan default untuk ForceCursor properti belum ditetapkan kembali, traversal akan berhenti pada leluhur pertama dengan ForceCursor diatur ke true. |
| FlowDirection Aku akan menemuinya.System.Windows.FlowDirection |
RightToLeft Aku akan menemuinya.System.Windows.Forms.RightToLeft |
LeftToRight mematakan ke No. RightToLeft mematakan ke Yes. Inherit tidak dipetakan. FlowDirection.RightToLeft mematakan ke RightToLeft.Yes. |
| FontStyle | Style pada kontrol yang dihosting System.Drawing.Font | Kumpulan properti WPF diterjemahkan ke Font yang sesuai. Ketika salah satu properti ini berubah, properti baru Font dibuat. Untuk Normal: Italic dinonaktifkan. Untuk Italic atau Oblique: Italic diaktifkan. |
| FontWeight | Style pada kontrol yang dihosting System.Drawing.Font | Kumpulan properti WPF diterjemahkan ke Font yang sesuai. Ketika salah satu properti ini berubah, properti baru Font dibuat. Untuk Black, Bold, DemiBold, ExtraBold, Heavy, Medium, SemiBold, atau UltraBold: Bold diaktifkan. Untuk ExtraLight, Light, Normal, Regular, Thin, atau UltraLight: Bold dinonaktifkan. |
| FontFamily FontSize FontStretch FontStyle FontWeight |
Font Aku akan menemuinya.System.Drawing.Font |
Kumpulan properti WPF diterjemahkan ke Font yang sesuai. Ketika salah satu properti ini berubah, properti baru Font dibuat. Ukuran kontrol Windows Forms yang dihosting berubah sesuai dengan ukuran font. Ukuran font dalam WPF dinyatakan sebagai sepersembilan puluh enam inci, dan dalam Windows Forms sebagai sepertujuh puluh dua inci. Konversi yang sesuai adalah: Ukuran font Formulir Windows = ukuran font WPF * 72,0 / 96,0. |
| Foreground Aku akan menemuinya.System.Windows.Media.Brush |
ForeColor Aku akan menemuinya.System.Drawing.Color |
Pemetaan Foreground properti dilakukan dengan menggunakan aturan berikut: - Jika Foreground adalah SolidColorBrush, gunakan Color untuk ForeColor. - Jika Foreground adalah GradientBrush, gunakan warna GradientStop dengan nilai offset terendah untuk ForeColor. - Untuk jenis lain Brush , biarkan ForeColor tidak berubah. Ini berarti default digunakan. |
| IsEnabled | Enabled | Ketika IsEnabled diatur, elemen WindowsFormsHost menetapkan properti Enabled pada kontrol yang dihosting. |
| Padding | Padding | Keempat nilai Padding properti pada kontrol Windows Forms yang dihosting diatur dengan nilai yang sama Thickness. - Nilai yang lebih besar dari MaxValue diubah menjadi MaxValue. - Nilai kurang dari MinValue diatur ke MinValue. |
| Visibility | Visible |
-
Visible dipetakan menjadi Visible = true. Kontrol Windows Forms yang dihosting terlihat. Secara eksplisit menetapkan properti Visible pada kontrol yang dihosting menjadi false tidak disarankan.- Collapsedpeta ke Visible = true atau false. Kontrol Windows Forms yang dihosting tidak ditampilkan, dan areanya menjadi tersembunyi.- Hidden : Kontrol Windows Forms yang dihosting menempati ruang dalam tata letak, tetapi tidak terlihat. Dalam hal ini, Visible properti diatur ke true. Secara eksplisit menetapkan properti Visible pada kontrol yang dihosting menjadi false tidak disarankan. |
Properti terlampir pada elemen kontainer didukung sepenuhnya oleh WindowsFormsHost elemen .
Untuk informasi selengkapnya, lihat Panduan Langkah demi Langkah: Pemetaan Properti Menggunakan Elemen WindowsFormsHost.
Pembaruan untuk Properti Induk
Perubahan pada sebagian besar properti induk menyebabkan pemberitahuan ke kontrol anak yang dihosting. Daftar berikut ini menjelaskan properti yang tidak menyebabkan pemberitahuan saat nilainya berubah.
Misalnya, jika Anda mengubah nilai Background properti WindowsFormsHost elemen , BackColor properti kontrol yang dihosting tidak berubah.
Pemetaan Properti dengan Kontrol ElementHost
Fitur berikut ini menyediakan pemberitahuan perubahan bawaan. Jangan panggil OnPropertyChanged metode ketika Anda memetakan properti ini:
Ukuran Otomatis
Warna Belakang
Gambar Latar Belakang
Tata Letak Gambar Latar
BindingContext
PenyebabValidasi
Menu Konteks
ContextMenuStrip
Kursor
Dok
Diaktifkan
Jenis huruf
ForeColor
Lokasi
marjin / batas
Pengisi
Orang tua
Wilayah
KananKeKiri
Ukuran
TabIndex
TabStop
Teks
Dapat dilihat
Kontrol ElementHost menerjemahkan properti Formulir Windows default ke yang setara dalam WPF dengan menggunakan tabel terjemahan berikut.
Untuk informasi selengkapnya, lihat Panduan: Memetakan Properti Menggunakan Kontrol ElementHost.
| Pengelolaan Windows Forms | Windows Presentation Foundation | Perilaku interoperabilitas |
|---|---|---|
| BackColor Aku akan menemuinya.System.Drawing.Color |
Background (System.Windows.Media.Brush) pada elemen yang dihosting |
Mengatur properti ini memaksa pengecatan ulang dengan ImageBrush. Jika properti BackColorTransparent diatur ke false (nilai default), ImageBrush ini didasarkan pada tampilan kontrol ElementHost, termasuk properti BackColor, BackgroundImage, BackgroundImageLayout, dan handler cat yang terpasang.Jika properti BackColorTransparent diatur ke true, tampilan ImageBrush didasarkan pada tampilan induk kontrol ElementHost, termasuk properti BackColor, BackgroundImage, BackgroundImageLayout pada induk, dan penangan cat yang terpasang. |
| BackgroundImage Aku akan menemuinya.System.Drawing.Image |
Background (System.Windows.Media.Brush) pada elemen yang dihosting |
Mengatur properti ini menyebabkan perilaku yang sama seperti yang dijelaskan pada BackColor pemetaan. |
| BackgroundImageLayout | Background (System.Windows.Media.Brush) pada elemen yang dihosting |
Mengatur properti ini menyebabkan perilaku yang sama seperti yang dijelaskan pada BackColor pemetaan. |
| Cursor Aku akan menemuinya.System.Windows.Forms.Cursor |
Cursor Aku akan menemuinya.System.Windows.Input.Cursor |
Kursor standar Windows Forms diterjemahkan ke kursor standar WPF yang sesuai. Jika Windows Forms bukan kursor standar, maka default akan diberlakukan. |
| Enabled | IsEnabled | Ketika Enabled telah diatur, kontrol ElementHost menetapkan properti IsEnabled pada elemen yang dihosting. |
| Font Aku akan menemuinya.System.Drawing.Font |
FontFamily FontSize FontStretch FontStyle FontWeight |
Nilai Font diterjemahkan ke dalam sekumpulan properti font WPF yang sesuai. |
| Bold | FontWeight pada elemen terhosting | Jika Bold adalah true, FontWeight diatur ke Bold.Jika Bold adalah false, FontWeight diatur ke Normal. |
| Italic | FontStyle pada elemen terhosting | Jika Italic adalah true, FontStyle diatur ke Italic.Jika Italic adalah false, FontStyle diatur ke Normal. |
| Strikeout | TextDecorations pada elemen terhosting | Hanya berlaku saat menghosting TextBlock kontrol. |
| Underline | TextDecorations pada elemen terhosting | Hanya berlaku saat menghosting TextBlock kontrol. |
| RightToLeft Aku akan menemuinya.System.Windows.Forms.RightToLeft |
FlowDirection Aku akan menemuinya.FlowDirection |
No mematakan ke LeftToRight. Yes mematakan ke RightToLeft. |
| Visible | Visibility | Kontrol ElementHost mengatur Visibility properti pada elemen yang dihosting dengan menggunakan aturan berikut: - Visible = true dipetakan ke Visible.- Visible = false dipetakan ke Hidden. |
Lihat juga
.NET Desktop feedback