PropertyMap Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Menyediakan cara untuk menerjemahkan nilai properti antara kontrol Windows Forms dan elemen Windows Presentation Foundation (WPF).
public ref class PropertyMap
public class PropertyMap
[System.Security.SecurityCritical]
public class PropertyMap
type PropertyMap = class
[<System.Security.SecurityCritical>]
type PropertyMap = class
Public Class PropertyMap
- Warisan
-
PropertyMap
- Atribut
Contoh
Contoh kode berikut menunjukkan cara menambahkan pemetaan untuk properti ke MarginElementHost kontrol.
// The AddMarginMapping method adds a new property mapping
// for the Margin property.
private void AddMarginMapping()
{
elemHost.PropertyMap.Add(
"Margin",
new PropertyTranslator(OnMarginChange));
}
// The OnMarginChange method implements the mapping
// from the Windows Forms Margin property to the
// Windows Presentation Foundation Margin property.
//
// The provided Padding value is used to construct
// a Thickness value for the hosted element's Margin
// property.
private void OnMarginChange(object h, String propertyName, object value)
{
ElementHost host = h as ElementHost;
Padding p = (Padding)value;
System.Windows.Controls.Button wpfButton =
host.Child as System.Windows.Controls.Button;
Thickness t = new Thickness(p.Left, p.Top, p.Right, p.Bottom );
wpfButton.Margin = t;
}
' The AddMarginMapping method adds a new property mapping
' for the Margin property.
Private Sub AddMarginMapping()
elemHost.PropertyMap.Add( _
"Margin", _
New PropertyTranslator(AddressOf OnMarginChange))
End Sub
' The OnMarginChange method implements the mapping
' from the Windows Forms Margin property to the
' Windows Presentation Foundation Margin property.
'
' The provided Padding value is used to construct
' a Thickness value for the hosted element's Margin
' property.
Private Sub OnMarginChange( _
ByVal h As Object, _
ByVal propertyName As String, _
ByVal value As Object)
Dim host As ElementHost = h
Dim p As Padding = CType(value, Padding)
Dim wpfButton As System.Windows.Controls.Button = host.Child
Dim t As New Thickness(p.Left, p.Top, p.Right, p.Bottom)
wpfButton.Margin = t
End Sub
Contoh kode berikut menunjukkan cara mengganti pemetaan default untuk FlowDirection properti pada WindowsFormsHost kontrol.
// The ReplaceFlowDirectionMapping method replaces the
// default mapping for the FlowDirection property.
private void ReplaceFlowDirectionMapping()
{
wfHost.PropertyMap.Remove("FlowDirection");
wfHost.PropertyMap.Add(
"FlowDirection",
new PropertyTranslator(OnFlowDirectionChange));
}
// The OnFlowDirectionChange method translates a
// Windows Presentation Foundation FlowDirection value
// to a Windows Forms RightToLeft value and assigns
// the result to the hosted control's RightToLeft property.
private void OnFlowDirectionChange(object h, String propertyName, object value)
{
WindowsFormsHost host = h as WindowsFormsHost;
System.Windows.FlowDirection fd = (System.Windows.FlowDirection)value;
System.Windows.Forms.CheckBox cb = host.Child as System.Windows.Forms.CheckBox;
cb.RightToLeft = (fd == System.Windows.FlowDirection.RightToLeft ) ?
RightToLeft.Yes : RightToLeft.No;
}
// The cb_CheckedChanged method handles the hosted control's
// CheckedChanged event. If the Checked property is true,
// the flow direction is set to RightToLeft, otherwise it is
// set to LeftToRight.
private void cb_CheckedChanged(object sender, EventArgs e)
{
System.Windows.Forms.CheckBox cb = sender as System.Windows.Forms.CheckBox;
wfHost.FlowDirection = ( cb.CheckState == CheckState.Checked ) ?
System.Windows.FlowDirection.RightToLeft :
System.Windows.FlowDirection.LeftToRight;
}
' The ReplaceFlowDirectionMapping method replaces the
' default mapping for the FlowDirection property.
Private Sub ReplaceFlowDirectionMapping()
wfHost.PropertyMap.Remove("FlowDirection")
wfHost.PropertyMap.Add( _
"FlowDirection", _
New PropertyTranslator(AddressOf OnFlowDirectionChange))
End Sub
' The OnFlowDirectionChange method translates a
' Windows Presentation Foundation FlowDirection value
' to a Windows Forms RightToLeft value and assigns
' the result to the hosted control's RightToLeft property.
Private Sub OnFlowDirectionChange( _
ByVal h As Object, _
ByVal propertyName As String, _
ByVal value As Object)
Dim host As WindowsFormsHost = h
Dim fd As System.Windows.FlowDirection = _
CType(value, System.Windows.FlowDirection)
Dim cb As System.Windows.Forms.CheckBox = host.Child
cb.RightToLeft = IIf(fd = System.Windows.FlowDirection.RightToLeft, _
RightToLeft.Yes, _
RightToLeft.No)
End Sub
' The cb_CheckedChanged method handles the hosted control's
' CheckedChanged event. If the Checked property is true,
' the flow direction is set to RightToLeft, otherwise it is
' set to LeftToRight.
Private Sub cb_CheckedChanged( _
ByVal sender As Object, _
ByVal e As EventArgs)
Dim cb As System.Windows.Forms.CheckBox = sender
wfHost.FlowDirection = IIf(cb.CheckState = CheckState.Checked, _
System.Windows.FlowDirection.RightToLeft, _
System.Windows.FlowDirection.LeftToRight)
End Sub
Keterangan
PropertyMap Gunakan kelas untuk menentukan terjemahan antara properti Windows Forms dan properti Windows Presentation Foundation (WPF) dalam aplikasi hibrid. Properti ElementHost.PropertyMap dan WindowsFormsHost.PropertyMap pada ElementHost kelas dan WindowsFormsHost menentukan pemetaan dari satu teknologi ke teknologi lainnya.
Untuk informasi selengkapnya, lihat Panduan: Properti Pemetaan Menggunakan Kontrol dan Panduan ElementHost: Memetakan Properti Menggunakan Elemen WindowsFormsHost.
Konstruktor
| Nama | Deskripsi |
|---|---|
| PropertyMap() |
Menginisialisasi instans baru dari kelas PropertyMap. |
| PropertyMap(Object) |
Menginisialisasi instans PropertyMap baru kelas dengan objek sumber yang diberikan. |
Properti
| Nama | Deskripsi |
|---|---|
| DefaultTranslators |
Mendapatkan kumpulan pemetaan properti yang didefinisikan secara default. |
| Item[String] |
Mendapatkan atau mengatur PropertyTranslator delegasi untuk properti yang diberikan. |
| Keys |
Mendapatkan objek yang ICollection berisi nama properti dalam PropertyMap koleksi. |
| SourceObject |
Mendapatkan objek yang memiliki properti yang akan diterjemahkan. |
| Values |
Mendapatkan yang ICollection berisi penerjemah properti dalam PropertyMap koleksi. |
Metode
| Nama | Deskripsi |
|---|---|
| Add(String, PropertyTranslator) |
PropertyTranslator Menambahkan delegasi untuk properti yang diberikan ke PropertyMap. |
| Apply(String) |
Menjalankan penerjemah properti untuk properti yang diberikan, berdasarkan nilai properti objek sumber saat ini. |
| ApplyAll() |
Menjalankan penerjemah properti untuk setiap properti yang dipetakan, berdasarkan nilai properti objek sumber saat ini. |
| Clear() |
Menghapus semua pemetaan properti. |
| Contains(String) |
Mendapatkan nilai yang menunjukkan apakah properti yang diberikan dipetakan. |
| Equals(Object) |
Menentukan apakah objek yang ditentukan sama dengan objek saat ini. (Diperoleh dari Object) |
| GetHashCode() |
Berfungsi sebagai fungsi hash default. (Diperoleh dari Object) |
| GetType() |
Mendapatkan Type instans saat ini. (Diperoleh dari Object) |
| MemberwiseClone() |
Membuat salinan dangkal dari Objectsaat ini. (Diperoleh dari Object) |
| Remove(String) |
Menghapus properti yang diberikan dari pemetaan. |
| Reset(String) |
Memulihkan pemetaan properti default untuk properti yang diberikan. |
| ResetAll() |
Memulihkan pemetaan properti default. |
| ToString() |
Mengembalikan string yang mewakili objek saat ini. (Diperoleh dari Object) |
Acara
| Nama | Deskripsi |
|---|---|
| PropertyMappingError |
Terjadi ketika pengecualian dimunculkan oleh penerjemah properti. |