PropertyMap.Item[String] 属性

定义

获取或设置给定属性的 PropertyTranslator 委托。

public:
 property System::Windows::Forms::Integration::PropertyTranslator ^ default[System::String ^] { System::Windows::Forms::Integration::PropertyTranslator ^ get(System::String ^ propertyName); void set(System::String ^ propertyName, System::Windows::Forms::Integration::PropertyTranslator ^ value); };
public System.Windows.Forms.Integration.PropertyTranslator this[string propertyName] { get; set; }
member this.Item(string) : System.Windows.Forms.Integration.PropertyTranslator with get, set
Default Public Property Item(propertyName As String) As PropertyTranslator

参数

propertyName
String

要映射的属性的名称。

属性值

PropertyTranslator

PropertyTranslator 委托对应于 propertyName 指定的属性。

例外

propertyNamenull 或为一个空字符串;指定的 PropertyTranslator 委托为 null

propertyName 给定的属性不存在于 SourceObject 上。

示例

下面的代码示例演示如何检索PropertyTranslator控件属性的ElementHost委托BackColor

// The ExtendBackColorMapping method adds a property
// translator if a mapping already exists.
private void ExtendBackColorMapping()
{
    if (elemHost.PropertyMap["BackColor"] != null)
    {
        elemHost.PropertyMap["BackColor"] += 
            new PropertyTranslator(OnBackColorChange);
    }
}

// The OnBackColorChange method assigns a specific image 
// to the hosted element's Background property.
private void OnBackColorChange(object h, String propertyName, object value)
{
    ElementHost host = h as ElementHost;
    System.Windows.Controls.Button wpfButton = 
        host.Child as System.Windows.Controls.Button;

    ImageBrush b = new ImageBrush(new BitmapImage(
        new Uri(@"file:///C:\WINDOWS\Santa Fe Stucco.bmp")));
    wpfButton.Background = b;
}
' The ExtendBackColorMapping method adds a property
' translator if a mapping already exists.
Private Sub ExtendBackColorMapping()

    If elemHost.PropertyMap("BackColor") IsNot Nothing Then

        elemHost.PropertyMap("BackColor") = PropertyTranslator.Combine( _
            elemHost.PropertyMap("BackColor"), _
            PropertyTranslator.CreateDelegate( _
            GetType(PropertyTranslator), _
            Me, _
            "OnBackColorChange"))
    End If

End Sub


' The OnBackColorChange method assigns a specific image 
' to the hosted element's Background property.
Private Sub OnBackColorChange( _
ByVal h As Object, _
ByVal propertyName As String, _
ByVal value As Object)

    Dim host As ElementHost = h
    Dim wpfButton As System.Windows.Controls.Button = host.Child
    Dim b As New ImageBrush(New BitmapImage( _
        New Uri("file:///C:\WINDOWS\Santa Fe Stucco.bmp")))
    wpfButton.Background = b

End Sub

下面的代码示例演示如何检索PropertyTranslator控件属性的WindowsFormsHost委托Background

// The ExtendBackgroundMapping method adds a property
// translator if a mapping already exists.
private void ExtendBackgroundMapping()
{
    if (wfHost.PropertyMap["Background"] != null)
    {
        wfHost.PropertyMap["Background"] += new PropertyTranslator(OnBackgroundChange);
    }
}

// The OnBackgroundChange method assigns a specific image 
// to the hosted control's BackgroundImage property.
private void OnBackgroundChange(object h, String propertyName, object value)
{
    WindowsFormsHost host = h as WindowsFormsHost;
    System.Windows.Forms.CheckBox cb = host.Child as System.Windows.Forms.CheckBox;
    ImageBrush b = value as ImageBrush;

    if (b != null)
    {
        cb.BackgroundImage = new System.Drawing.Bitmap(@"C:\WINDOWS\Santa Fe Stucco.bmp");
    }
}
' The ExtendBackgroundMapping method adds a property
' translator if a mapping already exists.
Private Sub ExtendBackgroundMapping() 
    If wfHost.PropertyMap("Background") IsNot Nothing Then

        wfHost.PropertyMap("Background") = PropertyTranslator.Combine( _
        wfHost.PropertyMap("Background"), _
        PropertyTranslator.CreateDelegate( _
            GetType(PropertyTranslator), _
            Me, _
            "OnBackgroundChange"))
    End If

End Sub


' The OnBackgroundChange method assigns a specific image 
' to the hosted control's BackgroundImage property.
Private Sub OnBackgroundChange(ByVal h As Object, ByVal propertyName As String, ByVal value As Object) 
    Dim host As WindowsFormsHost = h 
    Dim cb As System.Windows.Forms.CheckBox = host.Child 
    Dim b As ImageBrush = value 
    
    If Not (b Is Nothing) Then
        cb.BackgroundImage = New System.Drawing.Bitmap("C:\WINDOWS\Santa Fe Stucco.bmp")
    End If

End Sub

注解

设置时,如果不存在PropertyTranslatorpropertyName,则新委托将添加到该PropertyMap代理中。 PropertyTranslator如果已存在propertyName,则会替换它。

适用于

另请参阅