public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value) { ImagePropertyDescriptor descriptor = (ImagePropertyDescriptor)context.PropertyDescriptor; string stringValue = ImagePropertyDescriptor.GetStringValue(descriptor.ImageProperty.Value, false); ShowValueDialog.Show(descriptor.DisplayName, descriptor.Description, stringValue); return(value); //no edits allowed }
public override object ConvertTo(ITypeDescriptorContext context, CultureInfo culture, object value, Type destinationType) { var imageProperties = value as ImageProperties; if (destinationType == typeof(string) && imageProperties != null) { return(ImagePropertyDescriptor.GetStringValue(CollectionUtils.Map <ImagePropertyDescriptor, IImageProperty>(imageProperties.GetProperties(), p => p.ImageProperty), true)); } return(base.ConvertTo(context, culture, value, destinationType)); }