This documentation is archived and is not being maintained.

System.Windows.Controls Namespace

Provides classes to create elements, known as controls, that enable a user to interact with an application. The control classes are at the core of the user's experience with any application because they allow a user to view, select, or enter data or other information.

Public classAccessTextSpecifies with an underscore the character that is used as the access key.
Public classAdornedElementPlaceholderRepresents the element used in a ControlTemplate to specify where a decorated control is placed relative to other elements in the ControlTemplate.
Public classAlternationConverterConverts an integer to and from an object by applying the integer as an index to a list of objects.
Public classBooleanToVisibilityConverterRepresents the converter that converts Boolean values to and from Visibility enumeration values.
Public classBorderDraws a border, background, or both around another element.
Public classBorderGapMaskConverterRepresents a converter that converts the dimensions of a GroupBox control into a VisualBrush.
Public classButtonRepresents a Windows button control, which reacts to the ButtonBase.Click event.
Public classCalendarRepresents a control that enables a user to select a date by using a visual calendar display.
Public classCalendarBlackoutDatesCollectionRepresents a collection of non-selectable dates in a Calendar.
Public classCalendarDateChangedEventArgsProvides data for the DisplayDateChanged event.
Public classCalendarDateRangeRepresents a range of dates in a Calendar.
Public classCalendarModeChangedEventArgsProvides data for the DisplayModeChanged event.
Public classCanvasDefines an area within which you can explicitly position child elements by using coordinates that are relative to the Canvas area.
Public classCheckBoxRepresents a control that a user can select and clear.
Public classCleanUpVirtualizedItemEventArgsProvides data for the CleanUpVirtualizedItem event.
Public classColumnDefinitionDefines column-specific properties that apply to Grid elements.
Public classColumnDefinitionCollectionProvides access to an ordered, strongly typed collection of ColumnDefinition objects.
Public classComboBoxRepresents a selection control with a drop-down list that can be shown or hidden by clicking the arrow on the control.
Public classComboBoxItemImplements a selectable item inside a ComboBox.
Public classContentControlRepresents a control with a single piece of content of any type.
Public classContentPresenterDisplays the content of a ContentControl.
Public classContextMenuRepresents a pop-up menu that enables a control to expose functionality that is specific to the context of the control.
Public classContextMenuEventArgsProvides data for the context menu event.
Public classContextMenuServiceProvides the system implementation for displaying a ContextMenu.
Public classControlRepresents the base class for user interface (UI) elements that use a ControlTemplate to define their appearance. 
Public classControlTemplateSpecifies the visual structure and behavioral aspects of a Control that can be shared across multiple instances of the control.
Public classDataErrorValidationRuleRepresents a rule that checks for errors that are raised by the IDataErrorInfo implementation of the source object.
Public classDataGridRepresents a control that displays data in a customizable grid.
Public classDataGridAutoGeneratingColumnEventArgsProvides data for the AutoGeneratingColumn event.
Public classDataGridBeginningEditEventArgsProvides data for the DataGrid.BeginningEdit event.
Public classDataGridBoundColumnServes as the base class for columns that can bind to a property in the data source of a DataGrid.
Public classDataGridCellRepresents a cell of a DataGrid control.
Public classDataGridCellClipboardEventArgsProvides data for the DataGridColumn.CopyingCellClipboardContent and DataGridColumn.PastingCellClipboardContent events.
Public classDataGridCellEditEndingEventArgsProvides data for the DataGrid.CellEditEnding event.
Public classDataGridCellsPanelRepresents a panel that lays out cells and column headers in a data grid.
Public classDataGridCheckBoxColumnRepresents a DataGrid column that hosts CheckBox controls in its cells.
Public classDataGridColumnRepresents a DataGrid column.
Public classDataGridColumnEventArgsProvides data for the ColumnDisplayIndexChanged and ColumnReordered events.
Public classDataGridColumnReorderingEventArgsProvides data for the ColumnReordering event.
Public classDataGridComboBoxColumnRepresents a DataGrid column that hosts ComboBox controls in its cells.
Public classDataGridHyperlinkColumnRepresents a DataGrid column that hosts Uri elements in its cells.
Public classDataGridLengthConverterConverts instances of various types to and from instances of the DataGridLength class.
Public classDataGridPreparingCellForEditEventArgsProvides data for the DataGrid.PreparingCellForEdit event.
Public classDataGridRowRepresents a DataGrid row.
Public classDataGridRowClipboardEventArgsProvides data for the DataGrid.CopyingRowClipboardContent event.
Public classDataGridRowDetailsEventArgsProvides data for the DataGrid.LoadingRowDetails, DataGrid.UnloadingRowDetails, and DataGrid.RowDetailsVisibilityChanged events.
Public classDataGridRowEditEndingEventArgsProvides data for the DataGrid.RowEditEnding event.
Public classDataGridRowEventArgsProvides data for the DataGrid.LoadingRow and DataGrid.UnloadingRow events.
Public classDataGridSortingEventArgsProvides data for the Sorting event.
Public classDataGridTemplateColumnRepresents a DataGrid column that hosts template-specified content in its cells.
Public classDataGridTextColumnRepresents a DataGrid column that hosts textual content in its cells.
Public classDataTemplateSelectorProvides a way to choose a DataTemplate based on the data object and the data-bound element.
Public classDatePickerRepresents a control that allows the user to select a date.
Public classDatePickerDateValidationErrorEventArgsProvides data for the DatePicker.DateValidationError event.
Public classDecoratorProvides a base class for elements that apply effects onto or around a single child element, such as Border or Viewbox.
Public classDefinitionBaseDefines the functionality required to support a shared-size group that is used by the ColumnDefinitionCollection and RowDefinitionCollection classes. This is an abstract class.
Public classDockPanelDefines an area where you can arrange child elements either horizontally or vertically, relative to each other.
Public classDocumentViewerRepresents a document viewing control that can host paginated FixedDocument content such as an XpsDocument.
Public classExceptionValidationRuleRepresents a rule that checks for exceptions that are thrown during the update of the binding source property.
Public classExpanderRepresents the control that displays a header that has a collapsible window that displays content.
Public classFlowDocumentPageViewerRepresents a control for viewing flow content in a fixed viewing mode that shows content one page at a time.
Public classFlowDocumentReaderProvides a control for viewing flow content, with built-in support for multiple viewing modes.
Public classFlowDocumentScrollViewerProvides a control for viewing flow content in a continuous scrolling mode.
Public classFrameFrame is a content control that supports navigation.
Public classGridDefines a flexible grid area that consists of columns and rows.
Public classGridSplitterRepresents the control that redistributes space between columns or rows of a Grid control.
Public classGridViewRepresents a view mode that displays data items in columns for a ListView control.
Public classGridViewColumnRepresents a column that displays data.
Public classGridViewColumnCollectionRepresents a collection of GridViewColumn objects.
Public classGridViewColumnHeaderRepresents a column header for a GridViewColumn.
Public classGridViewHeaderRowPresenterRepresents an object that is used to define the layout of a row of column headers.
Public classGridViewRowPresenterRepresents an object that specifies the layout of a row of data.
Public classGroupBoxRepresents a control that creates a container that has a border and a header for user interface (UI) content.
Public classGroupItemAppears as the root of the visual subtree generated for a group.
Public classGroupStyleDefines how you want the group to look at each level.
Public classHeaderedContentControlProvides the base implementation for all controls that contain single content and have a header.
Public classHeaderedItemsControlRepresents a control that contains multiple items and has a header.
Public classImageRepresents a control that displays an image.
Public classInitializingNewItemEventArgsProvides data for the InitializingNewItem event.
Public classInkCanvasDefines an area that receives and displays ink strokes.
Public classInkCanvasGestureEventArgsProvides data for the Gesture event.
Public classInkCanvasSelectionChangingEventArgsProvides data for the SelectionChanging.
Public classInkCanvasSelectionEditingEventArgsProvides data for the SelectionMoving and SelectionResizing events.
Public classInkCanvasStrokeCollectedEventArgsProvides data for the StrokeCollected event.
Public classInkCanvasStrokeErasingEventArgsProvides data for the StrokeErasing event.
Public classInkCanvasStrokesReplacedEventArgsProvides data for the StrokesReplaced event.
Public classInkPresenterRenders ink on a surface.
Public classItemCollectionHolds the list of items that constitute the content of an ItemsControl.
Public classItemContainerGeneratorGenerates the user interface (UI) on behalf of its host, such as an ItemsControl.
Public classItemsControlRepresents a control that can be used to present a collection of items.
Public classItemsPanelTemplateSpecifies the panel that the ItemsPresenter creates for the layout of the items of an ItemsControl.
Public classItemsPresenterUsed within the template of an item control to specify the place in the control’s visual tree where the ItemsPanel defined by the ItemsControl is to be added.
Public classLabelRepresents the text label for a control and provides support for access keys.
Public classListBoxContains a list of selectable items.
Public classListBoxItemRepresents a selectable item in a ListBox.
Public classListViewRepresents a control that displays a list of data items.
Public classListViewItemRepresents an item in a ListView control.
Public classMediaElementRepresents a control that contains audio and/or video.
Public classMenu Represents a Windows menu control that enables you to hierarchically organize elements associated with commands and event handlers.
Public classMenuItemRepresents a selectable item inside a Menu.
Public classMenuScrollingVisibilityConverterRepresents a data-binding converter to handle the visibility of repeat buttons in scrolling menus.
Public classPageEncapsulates a page of content that can be navigated to and hosted by Windows Internet Explorer, NavigationWindow, and Frame.
Public classPanelProvides a base class for all Panel elements. Use Panel elements to position and arrange child objects in Windows Presentation Foundation (WPF) applications.
Public classPasswordBoxRepresents a control designed for entering and handling passwords.
Public classPrintDialogInvokes a standard Microsoft Windows print dialog box that configures a PrintTicket and PrintQueue according to user input and then prints a document.
Public classPrintDialogExceptionThe exception that is thrown when an error condition occurs during the opening, accessing, or using of a PrintDialog.
Public classProgressBarIndicates the progress of an operation.
Public classRadioButtonRepresents a button that can be selected, but not cleared, by a user. The IsChecked property of a RadioButton can be set by clicking it, but it can only be cleared programmatically.
Public classRichTextBoxRepresents a rich editing control which operates on FlowDocument objects.
Public classRowDefinitionDefines row-specific properties that apply to Grid elements.
Public classRowDefinitionCollectionProvides access to an ordered, strongly typed collection of RowDefinition objects.
Public classScrollChangedEventArgsDescribes a change in the scrolling state and contains the required arguments for a ScrollChanged event.
Public classScrollContentPresenterDisplays the content of a ScrollViewer control.
Public classScrollViewerRepresents a scrollable area that can contain other visible elements.
Public classSelectedCellsChangedEventArgsProvides data for the SelectedCellsChanged event.
Public classSelectedDatesCollectionRepresents a set of selected dates in a Calendar.
Public classSelectionChangedEventArgsProvides data for the SelectionChanged event.
Public classSeparator Control that is used to separate items in items controls.
Public classSliderRepresents a control that lets the user select from a range of values by moving a Thumb control along a Track.
Public classSoundPlayerActionRepresents a lightweight audio playback TriggerAction used to play .wav files.
Public classSpellCheckProvides real-time spell-checking functionality to text-editing controls, such as TextBox and RichTextBox.
Public classSpellingErrorRepresents a misspelled word in an editing control (i.e. TextBox or RichTextBox).
Public classStackPanelArranges child elements into a single line that can be oriented horizontally or vertically.
Public classStickyNoteControlRepresents a control that lets users attach typed text or handwritten annotations to documents.
Public classStyleSelectorProvides a way to apply styles based on custom logic.
Public classTabControlRepresents a control that contains multiple items that share the same space on the screen.
Public classTabItemRepresents a selectable item inside a TabControl.
Public classTextBlockProvides a lightweight control for displaying small amounts of flow content.
Public classTextBoxRepresents a control that can be used to display or edit unformatted text.
Public classTextChangeContains information about the changes that occur in the TextChanged event.
Public classTextChangedEventArgsProvides data for the TextChanged event.
Public classTextSearchEnables a user to quickly access items in a set by typing prefixes of strings.
Public classToolBarProvides a container for a group of commands or controls.
Public classToolBarTrayRepresents the container that handles the layout of a ToolBar.
Public classToolTipRepresents a control that creates a pop-up window that displays information for an element in the interface.
Public classToolTipEventArgsProvides event information for events that occur when a tooltip opens or closes.
Public classToolTipServiceRepresents a service that provides properties and events to control the display and behavior of tooltips.
Public classTreeViewRepresents a control that displays hierarchical data in a tree structure that has items that can expand and collapse.
Public classTreeViewItemImplements a selectable item in a TreeView control.
Public classUIElementCollectionRepresents an ordered collection of UIElement child elements.
Public classUserControlProvides a simple way to create a control.
Public classValidationProvides methods and attached properties that support data validation.
Public classValidationErrorRepresents a validation error that is created either by the binding engine when a ValidationRule reports a validation error, or through the MarkInvalid method explicitly.
Public classValidationErrorEventArgsProvides information for the Validation.Error attached event.
Public classValidationResultRepresents the result returned by the ValidationRule.Validate method that indicates whether the checked value passed the ValidationRule.
Public classValidationRuleProvides a way to create a custom rule in order to check the validity of user input.
Public classViewBaseRepresents the base class for views that define the appearance of data in a ListView control.
Public classViewboxDefines a content decorator that can stretch and scale a single child to fill the available space.
Public classViewport3DRenders the contained 3-D content within the 2-D layout bounds of the Viewport3D element.
Public classVirtualizingPanelProvides a framework for Panel elements that virtualize their child data collection. This is an abstract class.
Public classVirtualizingStackPanelArranges and virtualizes content on a single line that is oriented either horizontally or vertically.
Public classWebBrowserHosts and navigates between HTML documents. Enables interoperability between WPF managed code and HTML script.
Public classWrapPanelPositions child elements in sequential position from left to right, breaking content to the next line at the edge of the containing box. Subsequent ordering happens sequentially from top to bottom or from right to left, depending on the value of the Orientation property.

Public structureDataGridCellInfoRepresents information about a specific cell in a DataGrid.
Public structureDataGridClipboardCellContentEncapsulates the value and location of a DataGrid cell for use when copying content to the Clipboard.
Public structureDataGridLengthRepresents the lengths of elements within the DataGrid control.
Public structurePageRangeSpecifies a range of pages.

Public delegateCleanUpVirtualizedItemEventHandlerRepresents the method that handles the VirtualizingStackPanel.CleanUpVirtualizedItem attached events.
Public delegateContextMenuEventHandlerRepresents the method that will handle the FrameworkElement.ContextMenuOpening and ContextMenuClosing routed events, as well as equivalent ContentElement events.
Public delegateDataGridSortingEventHandlerRepresents the method that will handle the Sorting event of a DataGrid.
Public delegateGroupStyleSelectorDelegate used to select the group style as a function of the parent group and its level.
Public delegateInitializingNewItemEventHandlerRepresents the method that will handle the InitializingNewItem event of a DataGrid.
Public delegateInkCanvasGestureEventHandlerRepresents the method that will handle the Gesture event of a InkCanvas.
Public delegateInkCanvasSelectionChangingEventHandlerRepresents the method that will handle the SelectionChanging event of a InkCanvas.
Public delegateInkCanvasSelectionEditingEventHandlerRepresents the method that handles two events raised when changes occur on an InkCanvas: the SelectionMoving event, or the SelectionResizing event.
Public delegateInkCanvasStrokeCollectedEventHandlerRepresents the method that will handle the StrokeCollected event of an InkCanvas.
Public delegateInkCanvasStrokeErasingEventHandlerRepresents the method that handles the StrokeErasing event for an InkCanvas.
Public delegateInkCanvasStrokesReplacedEventHandlerRepresents the method that will handle the StrokesReplaced event of a InkCanvas.
Public delegateScrollChangedEventHandlerRepresents the method that will handle the ScrollViewer.ScrollChanged routed event.
Public delegateSelectedCellsChangedEventHandlerRepresents the method that will handle the SelectedCellsChanged event of a DataGrid.
Public delegateSelectionChangedEventHandlerRepresents the method that will handle the SelectionChanged routed event.
Public delegateTextChangedEventHandlerRepresents the method that will handle the TextBoxBase.TextChanged  routed event.
Public delegateToolTipEventHandlerRepresents the method that will handle routed event that occur when a tooltip opens and closes.

Public enumerationCalendarModeSpecifies whether a Calendar displays a month, year, or decade.
Public enumerationCalendarSelectionModeSpecifies whether a single or multiple dates can be selected in a Calendar.
Public enumerationCharacterCasingSpecifies the case of characters typed manually into a TextBox control.
Public enumerationClickModeSpecifies when the Click event should be raised.
Public enumerationDataGridClipboardCopyModeDefines constants that specify whether users can copy data from a DataGrid control to the Clipboard and whether column header values are included.
Public enumerationDataGridEditActionDefines constants that specify whether an edit is being canceled or committed.
Public enumerationDataGridEditingUnitDefines constants that specify whether editing is enabled on a cell level or on a row level.
Public enumerationDataGridGridLinesVisibilityDefines constants that specify the visibility of the grid lines in a DataGrid.
Public enumerationDataGridHeadersVisibilityDefines constants that specify the visibility of row and column headers in a DataGrid.
Public enumerationDataGridLengthUnitTypeDefines constants that specify how elements in a DataGrid are sized.
Public enumerationDataGridRowDetailsVisibilityModeDefines constants that specify when DataGrid row details are displayed.
Public enumerationDataGridSelectionModeDefines constants that specify whether single or multiple item selections are supported by a DataGrid control.
Public enumerationDataGridSelectionUnitDefines constants that specify whether cells, rows, or both, are used for selection in a DataGrid control.
Public enumerationDatePickerFormatSpecifies date formats for a DatePicker.
Public enumerationDockSpecifies the Dock position of a child element that is inside a DockPanel.
Public enumerationExpandDirectionSpecifies the direction in which an Expander control opens.
Public enumerationFlowDocumentReaderViewingModeNames viewing modes for the FlowDocumentReader control.
Public enumerationGridResizeBehaviorSpecifies the rows or columns that are resized by a GridSplitter control.
Public enumerationGridResizeDirectionSpecifies whether a GridSplitter control redistributes space between rows or between columns.
Public enumerationGridViewColumnHeaderRoleDefines the state or role of a GridViewColumnHeader control.
Public enumerationInkCanvasClipboardFormatSpecifies the formats that an InkCanvas will accept from the Clipboard.
Public enumerationInkCanvasEditingModeSpecifies the editing mode for the InkCanvas
Public enumerationInkCanvasSelectionHitResultIdentifies the various parts of a selection adorner on an InkCanvas.
Public enumerationMediaStateSpecifies the states that can be applied to a MediaElement for the LoadedBehavior and UnloadedBehavior properties.
Public enumerationMenuItemRole Defines the different roles that a MenuItem can have.
Public enumerationOrientation Defines the different orientations that a control or layout can have.
Public enumerationOverflowMode Specifies how ToolBar items are placed in the main toolbar panel and in the overflow panel.
Public enumerationPageRangeSelectionSpecifies whether all the pages or only a limited range will be processed by an operation, usually printing.
Public enumerationPanningModeSpecifies how ScrollViewer reacts to touch manipulation.
Public enumerationScrollBarVisibilitySpecifies the visibility of a ScrollBar for scrollable content.
Public enumerationSelectionModeDefines the selection behavior for a ListBox.
Public enumerationSelectiveScrollingOrientationSpecifies the direction that SelectiveScrollingGrid panels can scroll.
Public enumerationSpellingReformSpecifies the spelling reform rules used by the spellchecker of the text editing control (i.e. TextBox or RichTextBox).
Public enumerationStickyNoteTypeSpecifies whether a StickyNoteControl accepts text or ink.
Public enumerationStretchDirectionDescribes how scaling applies to content and restricts scaling to named axis types.
Public enumerationUndoAction How the undo stack caused or is affected by a text change.
Public enumerationValidationErrorEventActionDescribes whether a ValidationError object has been added or cleared.
Public enumerationValidationStepSpecifies when a ValidationRule runs.
Public enumerationVirtualizationModeSpecifies the method the VirtualizingStackPanel uses to manage virtualizing its child items.