ExpandableObjectConverter Class
Provides a type converter to convert expandable objects to and from various other representations.
System.ComponentModel.TypeConverter
System.ComponentModel.ExpandableObjectConverter
System.Drawing.IconConverter
System.Drawing.Printing.MarginsConverter
System.Windows.Forms.ColumnHeaderConverter
System.Windows.Forms.ListViewItemConverter
System.Windows.Xps.Serialization.ColorTypeConverter
System.Windows.Xps.Serialization.FontTypeConverter
System.Windows.Xps.Serialization.ImageSourceTypeConverter
Namespace: System.ComponentModel
Assembly: System (in System.dll)
The ExpandableObjectConverter type exposes the following members.
| Name | Description | |
|---|---|---|
![]() | ExpandableObjectConverter | Initializes a new instance of the ExpandableObjectConverter class. |
| Name | Description | |
|---|---|---|
![]() | CanConvertFrom(Type) | Returns whether this converter can convert an object of the given type to the type of this converter. (Inherited from TypeConverter.) |
![]() | CanConvertFrom(ITypeDescriptorContext, Type) | Returns whether this converter can convert an object of the given type to the type of this converter, using the specified context. (Inherited from TypeConverter.) |
![]() | CanConvertTo(Type) | Returns whether this converter can convert the object to the specified type. (Inherited from TypeConverter.) |
![]() | CanConvertTo(ITypeDescriptorContext, Type) | Returns whether this converter can convert the object to the specified type, using the specified context. (Inherited from TypeConverter.) |
![]() | ConvertFrom(Object) | Converts the given value to the type of this converter. (Inherited from TypeConverter.) |
![]() | ConvertFrom(ITypeDescriptorContext, CultureInfo, Object) | Converts the given object to the type of this converter, using the specified context and culture information. (Inherited from TypeConverter.) |
![]() | ConvertFromInvariantString(String) | Converts the given string to the type of this converter, using the invariant culture. (Inherited from TypeConverter.) |
![]() | ConvertFromInvariantString(ITypeDescriptorContext, String) | Converts the given string to the type of this converter, using the invariant culture and the specified context. (Inherited from TypeConverter.) |
![]() | ConvertFromString(String) | Converts the specified text to an object. (Inherited from TypeConverter.) |
![]() | ConvertFromString(ITypeDescriptorContext, String) | Converts the given text to an object, using the specified context. (Inherited from TypeConverter.) |
![]() | ConvertFromString(ITypeDescriptorContext, CultureInfo, String) | Converts the given text to an object, using the specified context and culture information. (Inherited from TypeConverter.) |
![]() | ConvertTo(Object, Type) | Converts the given value object to the specified type, using the arguments. (Inherited from TypeConverter.) |
![]() | ConvertTo(ITypeDescriptorContext, CultureInfo, Object, Type) | Converts the given value object to the specified type, using the specified context and culture information. (Inherited from TypeConverter.) |
![]() | ConvertToInvariantString(Object) | Converts the specified value to a culture-invariant string representation. (Inherited from TypeConverter.) |
![]() | ConvertToInvariantString(ITypeDescriptorContext, Object) | Converts the specified value to a culture-invariant string representation, using the specified context. (Inherited from TypeConverter.) |
![]() | ConvertToString(Object) | Converts the specified value to a string representation. (Inherited from TypeConverter.) |
![]() | ConvertToString(ITypeDescriptorContext, Object) | Converts the given value to a string representation, using the given context. (Inherited from TypeConverter.) |
![]() | ConvertToString(ITypeDescriptorContext, CultureInfo, Object) | Converts the given value to a string representation, using the specified context and culture information. (Inherited from TypeConverter.) |
![]() | CreateInstance(IDictionary) | Re-creates an Object given a set of property values for the object. (Inherited from TypeConverter.) |
![]() | CreateInstance(ITypeDescriptorContext, IDictionary) | Creates an instance of the type that this TypeConverter is associated with, using the specified context, given a set of property values for the object. (Inherited from TypeConverter.) |
![]() | Equals(Object) | Determines whether the specified object is equal to the current object. (Inherited from Object.) |
![]() | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.) |
![]() | GetConvertFromException | Returns an exception to throw when a conversion cannot be performed. (Inherited from TypeConverter.) |
![]() | GetConvertToException | Returns an exception to throw when a conversion cannot be performed. (Inherited from TypeConverter.) |
![]() | GetCreateInstanceSupported() | Returns whether changing a value on this object requires a call to the CreateInstance method to create a new value. (Inherited from TypeConverter.) |
![]() | GetCreateInstanceSupported(ITypeDescriptorContext) | Returns whether changing a value on this object requires a call to CreateInstance to create a new value, using the specified context. (Inherited from TypeConverter.) |
![]() | GetHashCode | Serves as a hash function for a particular type. (Inherited from Object.) |
![]() | GetProperties(Object) | Returns a collection of properties for the type of array specified by the value parameter. (Inherited from TypeConverter.) |
![]() | GetProperties(ITypeDescriptorContext, Object) | Returns a collection of properties for the type of array specified by the value parameter, using the specified context. (Inherited from TypeConverter.) |
![]() | GetProperties(ITypeDescriptorContext, Object, Attribute[]) | Gets a collection of properties for the type of object specified by the value parameter. (Overrides TypeConverter.GetProperties(ITypeDescriptorContext, Object, Attribute[]).) |
![]() | GetPropertiesSupported() | Returns whether this object supports properties. (Inherited from TypeConverter.) |
![]() | GetPropertiesSupported(ITypeDescriptorContext) | Gets a value indicating whether this object supports properties using the specified context. (Overrides TypeConverter.GetPropertiesSupported(ITypeDescriptorContext).) |
![]() | GetStandardValues() | Returns a collection of standard values from the default context for the data type this type converter is designed for. (Inherited from TypeConverter.) |
![]() | GetStandardValues(ITypeDescriptorContext) | Returns a collection of standard values for the data type this type converter is designed for when provided with a format context. (Inherited from TypeConverter.) |
![]() | GetStandardValuesExclusive() | Returns whether the collection of standard values returned from GetStandardValues is an exclusive list. (Inherited from TypeConverter.) |
![]() | GetStandardValuesExclusive(ITypeDescriptorContext) | Returns whether the collection of standard values returned from GetStandardValues is an exclusive list of possible values, using the specified context. (Inherited from TypeConverter.) |
![]() | GetStandardValuesSupported() | Returns whether this object supports a standard set of values that can be picked from a list. (Inherited from TypeConverter.) |
![]() | GetStandardValuesSupported(ITypeDescriptorContext) | Returns whether this object supports a standard set of values that can be picked from a list, using the specified context. (Inherited from TypeConverter.) |
![]() | GetType | Gets the Type of the current instance. (Inherited from Object.) |
![]() | IsValid(Object) | Returns whether the given value object is valid for this type. (Inherited from TypeConverter.) |
![]() | IsValid(ITypeDescriptorContext, Object) | Returns whether the given value object is valid for this type and for the specified context. (Inherited from TypeConverter.) |
![]() | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.) |
![]() | SortProperties | Sorts a collection of properties. (Inherited from TypeConverter.) |
![]() | ToString | Returns a string that represents the current object. (Inherited from Object.) |
This class adds support for properties on an object to the methods and properties provided by TypeConverter. To make a type of property expandable in the PropertyGrid, specify this TypeConverter for standard implementations of GetPropertiesSupported and GetProperties. Mark child properties with the NotifyParentPropertyAttribute to ensure correct behavior in a PropertyGrid control.
Note |
|---|
You should never access a type converter directly. Instead, call the appropriate converter by using TypeDescriptor. For more information, see the examples in the TypeConverter base class. |
For more information about type converters, see the TypeConverter base class and How to: Implement a Type Converter.
Note |
|---|
The HostProtectionAttribute attribute applied to this type or member has the following Resources property value: SharedState. The HostProtectionAttribute does not affect desktop applications (which are typically started by double-clicking an icon, typing a command, or entering a URL in a browser). For more information, see the HostProtectionAttribute class or SQL Server Programming and Host Protection Attributes. |
The following code example converts a variable of type Margins to a string variable.
The following code example demonstrates how to use the NotifyParentPropertyAttribute and the ExpandableObjectConverter class to create an expandable property on a custom control. This code example is part of a larger example provided for the NotifyParentPropertyAttribute class.
[TypeConverter(typeof(BorderAppearanceConverter))] public class BorderAppearance { private int borderSizeValue = 1; private Color borderColorValue = Color.Empty; [Browsable(true), NotifyParentProperty(true), EditorBrowsable(EditorBrowsableState.Always), DefaultValue(1)] public int BorderSize { get { return borderSizeValue; } set { if (value < 0) { throw new ArgumentOutOfRangeException( "BorderSize", value, "must be >= 0"); } if (borderSizeValue != value) { borderSizeValue = value; } } } [Browsable(true)] [NotifyParentProperty(true)] [EditorBrowsable(EditorBrowsableState.Always)] [DefaultValue(typeof(Color), "")] public Color BorderColor { get { return borderColorValue; } set { if (value.Equals(Color.Transparent)) { throw new NotSupportedException("Transparent colors are not supported."); } if (borderColorValue != value) { borderColorValue = value; } } } }
Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
