public override object ConvertTo(ITypeDescriptorContext context, CultureInfo culture, object value, Type destinationType) { if (value != null && !(value is CcBorder)) { throw WrongTypeException; } var border = value as CcBorder; //转换成字符串 if (destinationType == typeof(string)) { if (null == border) { return(string.Empty); } var sb = new StringBuilder(); if (border.Size > 0) { sb.Append($"{KeySize}{IntConverter.ConvertToString(context, culture, border.Size)}", Separator); } if (border.Radius > 0) { sb.Append($"{KeyRadius}{IntConverter.ConvertToString(context, culture, border.Radius)}", Separator); } if (border.OpenDirection != CcCtrlPosition.None) { sb.Append($"{KeyDirection}{PositionConverter.ConvertToString(context, culture, border.OpenDirection)}", Separator); } if (border.RadiusCorners != CcCtrlCorner.None) { sb.Append($"{KeyCorners}{CornerConverter.ConvertToString(context, culture, border.RadiusCorners)}", Separator); } return(sb.ToString()); } return(base.ConvertTo(context, culture, value, destinationType)); }