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);
}

WPF属性与特性的映射(TypeConverter)的更多相关文章

  1. WPF - 属性系统 (4 of 4)

    依赖项属性的重写 在基于C#的编程中,对属性的重写常常是一种行之有效的解决方案:在基类所提供的属性访问符实现不能满足当前要求的时候,我们就需要重新定义属性的访问符. 但对于依赖项属性而言,属性执行逻辑 ...

  2. 深入理解JavaScript中的属性和特性

    深入理解JavaScript中的属性和特性 JavaScript中属性和特性是完全不同的两个概念,这里我将根据自己所学,来深入理解JavaScript中的属性和特性. 主要内容如下: 理解JavaSc ...

  3. JavaScript之面向对象的概念,对象属性和对象属性的特性简介

    一.大家都知道,面向对象语言有一个标志,那就是他们都有类的概念,通过类我们可以创建任意多个具有相同属性和方法的对象.但ECMAScript(指定JavaScript标准的机构,也就是说JavaScri ...

  4. WPF - 属性系统 (3 of 4)

    依赖项属性元数据 在前面的章节中,我们已经介绍了WPF依赖项属性元数据中的两个组成:CoerceValueCallback回调以及PropertyChangedCallback.而在本节中,我们将对其 ...

  5. WPF - 属性系统 (2 of 4)

    属性更改回调 前一章的示例中,对各个参数的设置都非常容易理解.如果我们仅仅需要创建一个独立的依赖项属性,那么上面所提到的创建依赖项属性的基础知识足以满足需求.但是事情往往并非如此完美.在一个系统中,很 ...

  6. WPF - 属性系统 (1 of 4)

    本来我希望这一系列文章能够深入讲解WPF属性系统的实现以及XAML编译器是如何使用这些依赖项属性的,并在最后分析WPF属性系统的实际实现代码.但是在编写的过程中发现对WPF属性系统代码的讲解要求之前的 ...

  7. JS魔法堂:属性、特性,傻傻分不清楚

    一.前言 或许你和我一样都曾经被下面的代码所困扰 var el = document.getElementById('dummy'); el.hello = "test"; con ...

  8. javascript中对象的属性的特性

    1.ES5的属性特性包括下面六个: configurable: 表示能否通过delete来删除属性从而重新定义属性,能够修改属性的特性,默认为true enumberable: 表示是否能通过for- ...

  9. javascript 属性的特性

    /* 属性的特性: 可以通过调用Object.getOwnPropertyDescriptor()可以获得某个对象特定属性的属性描述符, 从函数名字就可以看出, Object.getOwnProper ...

随机推荐

  1. Asp.net SqlDataReader转成Datatable

    Asp.net SqlDataReader转成Datatable 所属栏目:Asp.net 编程 | 发布日期:2013年04月05日 | 点击:517 次 内容摘要:Asp.net 数据存储,呈现方 ...

  2. [置顶] java web 动态服务器

    写了一个java web 动态服务器,主要通过内部类来实现,动态类使用了外部类,采用了 classforname 实例化,动态类的构造方法不能带参数, 效果都出来了,分享给有需要的 朋友.判断做的不够 ...

  3. 依赖注入及AOP简述(十三)——AOP应用举例(完结) .

    2.     AOP应用举例 在一般的应用程序开发中,有一些典型的AOP应用,使得开发者可以专注于业务逻辑本身,而不是与之完全无关的一些“方面”. l        首先就是关于前面介绍过的日志输出类 ...

  4. javascript 面向对象的继承的实现

    JavaScript 中的面向对象的初步认识 上面这篇简单的记录了我对 JS面向对象实现的一点初步认识和了解,下面继续研究JS面向对象,实现继承和多态. 之前的学习我了解到了 :构造函数加属性,原型p ...

  5. SharePoint 2013 WebPart属性面板配置

    为WebPart添加右侧的属性面板,方便将来对于WebPart的配置,我们只需要在CustomWebPart.cs文件里面,声明一下变量即可: private string url = string. ...

  6. hadoop 各种组件配置参数

    ********************************************hive*********************************************** hive ...

  7. ORACLE EBS BOM 展开(使用标准程序bompexpl.exploder_userexit展开)

    create or replace package cux_bom_pub is PROCEDURE bom_expand_to_temp( p_organization_id number, p_i ...

  8. LINUX下查看CPU使用率的命令[Z]

    1.top 使用权限:所有使用者 使用方式:top [-] [d delay] [q] [c] [S] [s] [i] [n] [b] 说明:即时显示process的动态 d :改变显示的更新速度,或 ...

  9. some knowledge t

    NSNumber static 看下面例子  gCount可以在Person 文件中使用  在main 中不行 @property()括号中可以填的属性 国际化 OC中的快捷键操作 operation ...

  10. cmd正常启动tomcat,而 从eclipse启动出现 404

    设置Tomcat的路径,启动Tomcat,先测试一下环境,在浏览器中输入http://127.0.0.1:8080/ 提示 404找不到网页.出现这种问题然后试了一下,tomcat在外面直接启动  然 ...