WPF属性与特性的映射(TypeConverter)
Posted 名扬博客
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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);
}
以上是关于WPF属性与特性的映射(TypeConverter)的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 TypeConverter 通过 JNA 将 C 整数映射到 Java 枚举?
C# 属性控件(propertyGrid),如何动态添加下拉框中的值。例如:Name : 下拉框中的值:小米,小明。