如何创建'type '附加属性

本文关键字:type 属性 何创建 创建 | 更新日期: 2023-09-27 18:12:32

您好,我尝试创建一个类型为Type的附加属性,如下所示:

   public static Type GetTargetType(DependencyObject obj)
    {
        return (Type)obj.GetValue(TargetTypeProperty);
    }
    public static void SetTargetType(DependencyObject obj, Type value)
    {
        obj.SetValue(TargetTypeProperty, value);
    }

    public static readonly DependencyProperty TargetTypeProperty =
        DependencyProperty.RegisterAttached("TargetType", typeof(Type), typeof(MyHelper), new PropertyMetadata(null, OnTargetPropertyChanged));
    private static void OnTargetPropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
    {
        // and here i want to use this type.
    }

和XAML代码中的

// ...
     <myControl MyHelpeers:MyHelper.TargetType="{x:Type local:myclass}"/>
//...

我谷歌了一下,我找到了一种方法来创建类型的形式字符串。但我不喜欢那样。请帮帮我。谢谢。

如何创建'type '附加属性

该值在事件参数中,即NewValue,只需将其强制转换为Type

var type = (Type)e.NewValue;