zoukankan      html  css  js  c++  java
  • WPF属性与特性的映射(TypeConverter)

    1,定义一个类

    public class Human
    {
    public string Name { get; set; }
    public Human Child { get; set; }
    }

    2在XAML文件中引用

    <Window.Resources>
    <Local:Human x:Key="human" Child="明洋" x:Name="human"></Local:Human>
    </Window.Resources>

    3添加转换类

    public class StringToHumanTypeConverter:TypeConverter
    {
    public override object ConvertFrom(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value)
    {
    if(value is string)
    {
    Human h = new Human();
    h.Name = value as string;
    return h;
    }
    return base.ConvertFrom(context, culture, value);
    }
    }

    4引用转化类

    [TypeConverterAttribute(typeof(StringToHumanTypeConverter))]
    //[TypeConverter(typeof(StringToHumanTypeConverter))]与上面的一样
    public class Human
    {
    public string Name { get; set; }
    public Human Child { get; set; }
    }

    5测试映射

    private void Button_Click(object sender, RoutedEventArgs e)
    {
    Human h1 = (Human)this.FindResource("human");//对应X:Key
    MessageBox.Show(h1.Child.Name);
    }

  • 相关阅读:
    iris中间件
    go并发设计模式 --资源生成器模式
    Navicate
    golang sftp传输文件
    升级python
    在centos上面开机自启动某个程序
    文件MD5
    python模块之logging
    python之八大排序方法
    python生成器
  • 原文地址:https://www.cnblogs.com/wangboke/p/5310925.html
Copyright © 2011-2022 走看看