System.ComponentModel Namespace

[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]

The System.ComponentModel namespace provides classes that are used to implement the run-time and design-time behavior of components and controls. This namespace includes the base classes and interfaces for implementing attributes and type converters, and for performing asynchronous operations.


Class Description
AlternateContentPropertyAttribute Indicates whether a non-content property should be displayed in the the object tree.
AsyncCompletedEventArgs Provides data for the MethodNameCompleted event.
AsyncOperation Tracks the lifetime of an asynchronous operation.
AsyncOperationManager Provides concurrency management for classes that support asynchronous method calls. This class cannot be inherited.
BackgroundWorker Runs an operation on a separate thread.
BrowsableAttribute Specifies whether a property or event should be displayed in a Properties window.
CancelEventArgs Provides data for a cancelable event.
CategoryAttribute Specifies the name of the category in which to group the property or event when displayed in a property grid control set to Categorized mode.
ComponentCollection Gets a specific component in the container.
CurrentChangingEventArgs Provides data for the ICollectionView..::.CurrentChanging event.
DataErrorsChangedEventArgs Provides data for the INotifyDataErrorInfo..::.ErrorsChanged event.
DefaultValueAttribute Specifies the default value for a property.
DescriptionAttribute Specifies a description for a property or event.
DesignerProperties Provides attached properties that can be used to communicate with a designer.
DoWorkEventArgs Provides data for the DoWork event.
EditorBrowsableAttribute Specifies that a property or method is viewable in an editor. This class cannot be inherited.
GroupDescription Provides a base class for defining how to divide the items in a collection into groups.
ProgressChangedEventArgs Provides data for the ProgressChanged event.
PropertyChangedEventArgs Provides data for the PropertyChanged event.
PropertyChangingEventArgs Provides data for the INotifyPropertyChanging..::.PropertyChanging event.
PropertyDescriptor Provides a description of a property.
ReadOnlyAttribute Specifies whether the property this attribute is applied to is read-only or read/write.
RunWorkerCompletedEventArgs Provides data for the RunWorkerCompleted event.
SortDescriptionCollection Represents a collection of SortDescription instances.
TypeConverter Provides a unified way of converting types of values to other types. TypeConverter typically supports string-to-object conversion, either for property editors in design environments, or to enable XAML usages.
TypeConverterAttribute Specifies the class to use as a type converter for the type or property that this attribute is bound to.


Structure Description
SortDescription Defines the direction and the property name that will be used as the criteria for sorting a collection.


Interface Description
IChangeTracking Defines the mechanism for querying the object for changes and resetting of the changed status.
ICollectionView Enables collections to have the functionalities of current record management, custom sorting, filtering, and grouping.
ICollectionViewFactory Defines a method that enables a collection to provide a custom view for specialized sorting, filtering, grouping, and currency.
IComponent When implemented by a class, gets or sets the ISite associated with the component.
IContainer Provides functionality for containers. Containers are objects that logically contain zero or more components.
IDataErrorInfo Defines members that data entity classes can implement to provide custom validation support.
IEditableCollectionView Defines methods and properties that a collection view implements to provide editing capabilities to a collection.
IEditableObject Represents an object that has an editing mode and the ability to commit or revert changes.
INotifyDataErrorInfo Defines members that data entity classes can implement to provide custom synchronous and asynchronous validation support.
INotifyPropertyChanged Notifies clients that a property value has changed.
INotifyPropertyChanging Defines an event for notifying clients that a property value is changing.
IRevertibleChangeTracking Provides support for rolling back changes.
ISite Provides functionality required by sites. Sites bind a component to a container and enable communication between them, as well as provide a way for the container to manage its components.
ISupportInitialize Specifies that this object supports a simple, transacted notification for batch initialization.
ITypeDescriptorContext Provides information about a context to a type converter or a value editor, so that the type converter or editor can perform a conversion.


Delegate Description
AsyncCompletedEventHandler Represents the method that will handle the MethodNameCompleted event of an asynchronous operation.
CurrentChangingEventHandler Represents a method that can handle the CurrentChanging event of an ICollectionView implementation.
DoWorkEventHandler Represents the method that will handle the DoWork event that is raised when the RunWorkerAsync method is called.
ProgressChangedEventHandler Represents the method that will handle the ProgressChanged event that is raised when progress is reported by a BackgroundWorker.
PropertyChangedEventHandler Represents the method that will handle the INotifyPropertyChanged..::.PropertyChanged event.
PropertyChangingEventHandler Represents a method that will handle the INotifyPropertyChanging..::.PropertyChanging event.
RunWorkerCompletedEventHandler Represents the method that will handle the RunWorkerCompleted event that is raised when the operation performed by a BackgroundWorker has completed, has been canceled, or has raised an exception.


Enumeration Description
EditorBrowsableState Specifies the browsable state of a property or method from within an editor.
ListSortDirection Specifies the direction of a sort operation.
NewItemPlaceholderPosition Specifies where the placeholder for a new item appears in an IEditableCollectionView.