TypeConverter使用

    xiaoxiao2021-03-30  31

    如下代码,

    <Window.Resources>

      <local:Human x:Key="human" Name="Tester1" Child="ChildOfTester1"/>

    </Window.Resources>

    class Human

    {

      public string Name{get;set;}

      public Human Child{get;set;}

    }

    为了让以上代码工作,则必须提供一个类型转换, 从string转到Human。

    步骤如下,

    1. 定义StringToHumanConverter : TypeConverter, 重写其ConvertFrom方法,

    public override object ConvertFrom(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value) { if (value is string) { return new Human(value as string); }

    return base.ConvertFrom(context, culture, value); }

    2. 附加到Human类,

    [TypeConverter(typeof(StringToHumanConverter))] class Human

     

    Done.

    转载请注明原文地址: https://ju.6miu.com/read-665157.html

    最新回复(0)