次の方法で共有


ElementHost.PropertyMap プロパティ

定義

コントロールのプロパティの設定がホストされているWindows Presentation Foundation (WPF) 要素に与える影響を決定するプロパティ ElementHost マップを取得します。

public:
 property System::Windows::Forms::Integration::PropertyMap ^ PropertyMap { System::Windows::Forms::Integration::PropertyMap ^ get(); };
[System.ComponentModel.Browsable(false)]
public System.Windows.Forms.Integration.PropertyMap PropertyMap { get; }
[<System.ComponentModel.Browsable(false)>]
member this.PropertyMap : System.Windows.Forms.Integration.PropertyMap
Public ReadOnly Property PropertyMap As PropertyMap

プロパティ値

PropertyMapホストされている WPF 要素のプロパティにマップElementHostされる 。

属性

次のコード例では、 プロパティを使用 PropertyMap して、ホストされている WPF 要素の プロパティを Margin 変換する方法を示します。 詳細については、「チュートリアル:ElementHost コントロールを使用したプロパティ マッピング」を参照してください。

// 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

注釈

Windows フォームと WPF テクノロジには、似ていますが異なる 2 つのプロパティ モデルがあります。 プロパティ マッピング では、2 つのアーキテクチャ間の相互運用がサポートされています。 詳細については、「Windows フォームと WPF のプロパティ マッピング」を参照してください。

適用対象

こちらもご覧ください