前言:
假如自定义控件中需要一些自定义类型的属性,那么如果直接使用时,会出现下面的情况
此处自定义一个结构体
public struct ThreeDimensionPoint
{
public int X { get; set; }
public int Y { get; set; }
public int Z { get; set; }
}
属性定义如下:
[CategoryAttribute(“自定义项目”), DescriptionAttribute(“三维坐标”), ReadOnly(false)]
public ThreeDimensionPoint threeDimensionPoint { get; set; } = new ThreeDimensionPoint() { X = 1, Y = 0,Z =1 };
结果如下:
会发现这个属性不能在属性 窗口中设置这个,这时我们就需要使用类型转换了,第一种方法重写TypeConverter类,从而实现一个字符串到ThreeDimensionPoint类型转换,代码如下:
class ThreeDimensionPointConverter :