Bagikan melalui


PropertyMap Kelas

Definisi

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.

Berlaku untuk

Lihat juga