Skip to main content
.NET Framework Class Library
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 class AccessTextSpecifies with an underscore the character that is used as the access key.
Public class ActivatingKeyTipEventArgsProvides data for the ActivatingKeyTip event.
Public class AddingNewItemEventArgsProvides data for the AddingNewItem event.
Public class AdornedElementPlaceholderRepresents the element used in a ControlTemplate to specify where a decorated control is placed relative to other elements in the ControlTemplate.
Public class AlternationConverterConverts an integer to and from an object by applying the integer as an index to a list of objects.
Public class BooleanToVisibilityConverterRepresents the converter that converts Boolean values to and from Visibility enumeration values.
Public class BorderDraws a border, background, or both around another element.
Public class BorderGapMaskConverterRepresents a converter that converts the dimensions of a GroupBox control into a VisualBrush.
Public class ButtonRepresents a Windows button control, which reacts to the ButtonBaseClick event.
Public class CalendarRepresents a control that enables a user to select a date by using a visual calendar display.
Public class CalendarBlackoutDatesCollectionRepresents a collection of non-selectable dates in a Calendar.
Public class CalendarDateChangedEventArgsProvides data for the DisplayDateChanged event.
Public class CalendarDateRangeRepresents a range of dates in a Calendar.
Public class CalendarModeChangedEventArgsProvides data for the DisplayModeChanged event.
Public class CanvasDefines an area within which you can explicitly position child elements by using coordinates that are relative to the Canvas area.
Public class CheckBoxRepresents a control that a user can select and clear.
Public class CleanUpVirtualizedItemEventArgsProvides data for the CleanUpVirtualizedItem event.
Public class ColumnDefinitionDefines column-specific properties that apply to Grid elements.
Public class ColumnDefinitionCollectionProvides access to an ordered, strongly typed collection of ColumnDefinition objects.
Public class ComboBoxRepresents a selection control with a drop-down list that can be shown or hidden by clicking the arrow on the control.
Public class ComboBoxItemImplements a selectable item inside a ComboBox.
Public class ContentControlRepresents a control with a single piece of content of any type.
Public class ContentPresenterDisplays the content of a ContentControl.
Public class ContextMenuRepresents a pop-up menu that enables a control to expose functionality that is specific to the context of the control.
Public class ContextMenuEventArgsProvides data for the context menu event.
Public class ContextMenuServiceProvides the system implementation for displaying a ContextMenu.
Public class ControlRepresents the base class for user interface (UI) elements that use a ControlTemplate to define their appearance. 
Public class ControlTemplateSpecifies the visual structure and behavioral aspects of a Control that can be shared across multiple instances of the control.
Public class DataErrorValidationRuleRepresents a rule that checks for errors that are raised by the IDataErrorInfo implementation of the source object.
Public class DataGridRepresents a control that displays data in a customizable grid.
Public class DataGridAutoGeneratingColumnEventArgsProvides data for the AutoGeneratingColumn event.
Public class DataGridBeginningEditEventArgsProvides data for the DataGridBeginningEdit event.
Public class DataGridBoundColumnServes as the base class for columns that can bind to a property in the data source of a DataGrid.
Public class DataGridCellRepresents a cell of a DataGrid control.
Public class DataGridCellClipboardEventArgsProvides data for the DataGridColumnCopyingCellClipboardContent and DataGridColumnPastingCellClipboardContent events.
Public class DataGridCellEditEndingEventArgsProvides data for the DataGridCellEditEnding event.
Public class DataGridCellsPanelRepresents a panel that lays out cells and column headers in a data grid.
Public class DataGridCheckBoxColumnRepresents a DataGrid column that hosts CheckBox controls in its cells.
Public class DataGridColumnRepresents a DataGrid column.
Public class DataGridColumnEventArgsProvides data for the ColumnDisplayIndexChanged and ColumnReordered events.
Public class DataGridColumnReorderingEventArgsProvides data for the ColumnReordering event.
Public class DataGridComboBoxColumnRepresents a DataGrid column that hosts ComboBox controls in its cells.
Public class DataGridHyperlinkColumnRepresents a DataGrid column that hosts Uri elements in its cells.
Public class DataGridLengthConverterConverts instances of various types to and from instances of the DataGridLength class.
Public class DataGridPreparingCellForEditEventArgsProvides data for the DataGridPreparingCellForEdit event.
Public class DataGridRowRepresents a DataGrid row.
Public class DataGridRowClipboardEventArgsProvides data for the DataGridCopyingRowClipboardContent event.
Public class DataGridRowDetailsEventArgsProvides data for the DataGridLoadingRowDetails, DataGridUnloadingRowDetails, and DataGridRowDetailsVisibilityChanged events.
Public class DataGridRowEditEndingEventArgsProvides data for the DataGridRowEditEnding event.
Public class DataGridRowEventArgsProvides data for the DataGridLoadingRow and DataGridUnloadingRow events.
Public class DataGridSortingEventArgsProvides data for the Sorting event.
Public class DataGridTemplateColumnRepresents a DataGrid column that hosts template-specified content in its cells.
Public class DataGridTextColumnRepresents a DataGrid column that hosts textual content in its cells.
Public class DataTemplateSelectorProvides a way to choose a DataTemplate based on the data object and the data-bound element.
Public class DatePickerRepresents a control that allows the user to select a date.
Public class DatePickerDateValidationErrorEventArgsProvides data for the DatePickerDateValidationError event.
Public class DecoratorProvides a base class for elements that apply effects onto or around a single child element, such as Border or Viewbox.
Public class DefinitionBaseDefines the functionality required to support a shared-size group that is used by the ColumnDefinitionCollection and RowDefinitionCollection classes. This is an abstract class.
Public class DockPanelDefines an area where you can arrange child elements either horizontally or vertically, relative to each other.
Public class DocumentViewerRepresents a document viewing control that can host paginated FixedDocument content such as an XpsDocument.
Public class ExceptionValidationRuleRepresents a rule that checks for exceptions that are thrown during the update of the binding source property.
Public class ExpanderRepresents the control that displays a header that has a collapsible window that displays content.
Public class FlowDocumentPageViewerRepresents a control for viewing flow content in a fixed viewing mode that shows content one page at a time.
Public class FlowDocumentReaderProvides a control for viewing flow content, with built-in support for multiple viewing modes.
Public class FlowDocumentScrollViewerProvides a control for viewing flow content in a continuous scrolling mode.
Public class FrameFrame is a content control that supports navigation.
Public class GridDefines a flexible grid area that consists of columns and rows.
Public class GridSplitterRepresents the control that redistributes space between columns or rows of a Grid control.
Public class GridViewRepresents a view mode that displays data items in columns for a ListView control.
Public class GridViewColumnRepresents a column that displays data.
Public class GridViewColumnCollectionRepresents a collection of GridViewColumn objects.
Public class GridViewColumnHeaderRepresents a column header for a GridViewColumn.
Public class GridViewHeaderRowPresenterRepresents an object that is used to define the layout of a row of column headers.
Public class GridViewRowPresenterRepresents an object that specifies the layout of a row of data.
Public class GroupBoxRepresents a control that creates a container that has a border and a header for user interface (UI) content.
Public class GroupItemAppears as the root of the visual subtree generated for a group.
Public class GroupStyleDefines how you want the group to look at each level.
Public class HeaderedContentControlProvides the base implementation for all controls that contain single content and have a header.
Public class HeaderedItemsControlRepresents a control that contains multiple items and has a header.
Public class ImageRepresents a control that displays an image.
Public class InitializingNewItemEventArgsProvides data for the InitializingNewItem event.
Public class InkCanvasDefines an area that receives and displays ink strokes.
Public class InkCanvasGestureEventArgsProvides data for the Gesture event.
Public class InkCanvasSelectionChangingEventArgsProvides data for the SelectionChanging.
Public class InkCanvasSelectionEditingEventArgsProvides data for the SelectionMoving and SelectionResizing events.
Public class InkCanvasStrokeCollectedEventArgsProvides data for the StrokeCollected event.
Public class InkCanvasStrokeErasingEventArgsProvides data for the StrokeErasing event.
Public class InkCanvasStrokesReplacedEventArgsProvides data for the StrokesReplaced event.
Public class InkPresenterRenders ink on a surface.
Public class ItemCollectionHolds the list of items that constitute the content of an ItemsControl.
Public class ItemContainerGeneratorGenerates the user interface (UI) on behalf of its host, such as an  ItemsControl.
Public class ItemContainerTemplateProvides the template for producing a container for an ItemsControl object.
Public class ItemContainerTemplateKeyProvides a resource key for an ItemContainerTemplate object.
Public class ItemContainerTemplateSelectorEnables you to select an ItemContainerTemplate for each item within an ItemsControl.
Public class ItemsControlRepresents a control that can be used to present a collection of items.
Public class ItemsPanelTemplateSpecifies the panel that the ItemsPresenter creates for the layout of the items of an ItemsControl.
Public class ItemsPresenterUsed 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 class KeyTipAccessedEventArgsProvides data for the KeyTipAccessed event.
Public class KeyTipControlRepresents the control used inside the KeyTip.
Public class KeyTipServiceRepresents a service that provides properties, methods, and events to enable and manage KeyTips in WPF Ribbon controls.
Public class LabelRepresents the text label for a control and provides support for access keys.
Public class ListBoxContains a list of selectable items.
Public class ListBoxItemRepresents a selectable item in a ListBox.
Public class ListViewRepresents a control that displays a list of data items.
Public class ListViewItemRepresents an item in a ListView control.
Public class MediaElementRepresents a control that contains audio and/or video.
Public class Menu Represents a Windows menu control that enables you to hierarchically organize elements associated with commands and event handlers.
Public class MenuItemRepresents a selectable item inside a Menu.
Public class MenuScrollingVisibilityConverterRepresents a data-binding converter to handle the visibility of repeat buttons in scrolling menus.
Public class NotifyDataErrorValidationRuleRepresents a rule that checks for errors that are raised by a data source that implements INotifyDataErrorInfo.
Public class PageEncapsulates a page of content that can be navigated to and hosted by Windows Internet Explorer, NavigationWindow, and Frame.
Public class PanelProvides a base class for all Panel elements. Use Panel elements to position and arrange child objects in Windows Presentation Foundation (WPF) applications.
Public class PasswordBoxRepresents a control designed for entering and handling passwords.
Public class PrintDialogInvokes a standard Microsoft Windows print dialog box that configures a PrintTicket and PrintQueue according to user input and then prints a document.
Public class PrintDialogExceptionThe exception that is thrown when an error condition occurs during the opening, accessing, or using of a PrintDialog.
Public class ProgressBarIndicates the progress of an operation.
Public class RadioButtonRepresents 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 class RichTextBoxRepresents a rich editing control which operates on FlowDocument objects.
Public class RowDefinitionDefines row-specific properties that apply to Grid elements.
Public class RowDefinitionCollectionProvides access to an ordered, strongly typed collection of RowDefinition objects.
Public class ScrollChangedEventArgsDescribes a change in the scrolling state and contains the required arguments for a ScrollChanged event.
Public class ScrollContentPresenterDisplays the content of a ScrollViewer control.
Public class ScrollViewerRepresents a scrollable area that can contain other visible elements.
Public class SelectedCellsChangedEventArgsProvides data for the SelectedCellsChanged event.
Public class SelectedDatesCollectionRepresents a set of selected dates in a Calendar.
Public class SelectionChangedEventArgsProvides data for the SelectionChanged event.
Public class Separator Control that is used to separate items in items controls.
Public class SliderRepresents a control that lets the user select from a range of values by moving a Thumb control along a Track.
Public class SoundPlayerActionRepresents a lightweight audio playback TriggerAction used to play .wav files.
Public class SpellCheckProvides real-time spell-checking functionality to text-editing controls, such as TextBox and RichTextBox.
Public class SpellingErrorRepresents a misspelled word in an editing control (i.e. TextBox or RichTextBox).
Public class StackPanelArranges child elements into a single line that can be oriented horizontally or vertically.
Public class StickyNoteControlRepresents a control that lets users attach typed text or handwritten annotations to documents.
Public class StyleSelectorProvides a way to apply styles based on custom logic.
Public class TabControlRepresents a control that contains multiple items that share the same space on the screen.
Public class TabItemRepresents a selectable item inside a TabControl.
Public class TextBlockProvides a lightweight control for displaying small amounts of flow content.
Public class TextBoxRepresents a control that can be used to display or edit unformatted text.
Public class TextChangeContains information about the changes that occur in the TextChanged event.
Public class TextChangedEventArgsProvides data for the TextChanged event.
Public class TextSearchEnables a user to quickly access items in a set by typing prefixes of strings.
Public class ToolBarProvides a container for a group of commands or controls.
Public class ToolBarTrayRepresents the container that handles the layout of a ToolBar.
Public class ToolTipRepresents a control that creates a pop-up window that displays information for an element in the interface.
Public class ToolTipEventArgsProvides event information for events that occur when a tooltip opens or closes.
Public class ToolTipServiceRepresents a service that provides properties and events to control the display and behavior of tooltips.
Public class TreeViewRepresents a control that displays hierarchical data in a tree structure that has items that can expand and collapse.
Public class TreeViewItemImplements a selectable item in a TreeView control.
Public class UIElementCollectionRepresents an ordered collection of UIElement child elements.
Public class UserControlProvides a simple way to create a control.
Public class ValidationProvides methods and attached properties that support data validation.
Public class ValidationErrorRepresents 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 class ValidationErrorEventArgsProvides information for the ValidationError attached event.
Public class ValidationResultRepresents the result returned by the ValidationRule. Validate method that indicates whether the checked value passed the ValidationRule.
Public class ValidationRuleProvides a way to create a custom rule in order to check the validity of user input.
Public class ViewBaseRepresents the base class for views that define the appearance of data in a ListView control.
Public class ViewboxDefines a content decorator that can stretch and scale a single child to fill the available space.
Public class Viewport3DRenders the contained 3-D content within the 2-D layout bounds of the Viewport3D element.
Public class VirtualizationCacheLengthConverterConverts objects to and from a VirtualizationCacheLength.
Public class VirtualizingPanelProvides a framework for Panel elements that virtualize their child data collection. This is an abstract class.
Public class VirtualizingStackPanelArranges and virtualizes content on a single line that is oriented either horizontally or vertically.
Public class WebBrowserHosts and navigates between HTML documents. Enables interoperability between WPF managed code and HTML script.
Public class WrapPanelPositions 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 structure DataGridCellInfoRepresents information about a specific cell in a DataGrid.
Public structure DataGridClipboardCellContentEncapsulates the value and location of a DataGrid cell for use when copying content to the Clipboard.
Public structure DataGridLengthRepresents the lengths of elements within the DataGrid control.
Public structure HierarchicalVirtualizationConstraintsSpecifies the sizes of a control's viewport and cache. This structure is used by the IHierarchicalVirtualizationAndScrollInfo interface.
Public structure HierarchicalVirtualizationHeaderDesiredSizesRepresents the desired size of the control's header, in pixels and in logical units. This structure is used by the IHierarchicalVirtualizationAndScrollInfo interface.
Public structure HierarchicalVirtualizationItemDesiredSizesRepresents the desired size of the control's items, in device-independent units (1/96th inch per unit) and in logical units.
Public structure PageRangeSpecifies a range of pages.
Public structure VirtualizationCacheLengthRepresents the measurements for the VirtualizingPanelCacheLength attached property.
Public delegate ActivatingKeyTipEventHandlerRepresents the method that handles the ActivatingKeyTip attached event of a KeyTipService.
Public delegate CleanUpVirtualizedItemEventHandlerRepresents the method that handles the VirtualizingStackPanelCleanUpVirtualizedItem attached events.
Public delegate ContextMenuEventHandlerRepresents the method that will handle the FrameworkElementContextMenuOpening and ContextMenuClosing routed events, as well as equivalent ContentElement events.
Public delegate DataGridSortingEventHandlerRepresents the method that will handle the Sorting event of a DataGrid.
Public delegate GroupStyleSelectorDelegate used to select the group style as a function of the parent group and its level.
Public delegate InitializingNewItemEventHandlerRepresents the method that will handle the InitializingNewItem event of a DataGrid.
Public delegate InkCanvasGestureEventHandlerRepresents the method that will handle the Gesture event of a InkCanvas.
Public delegate InkCanvasSelectionChangingEventHandlerRepresents the method that will handle the SelectionChanging event of a InkCanvas.
Public delegate InkCanvasSelectionEditingEventHandlerRepresents the method that handles two events raised when changes occur on an InkCanvas: the SelectionMoving event, or the SelectionResizing event.
Public delegate InkCanvasStrokeCollectedEventHandlerRepresents the method that will handle the StrokeCollected event of an InkCanvas.
Public delegate InkCanvasStrokeErasingEventHandlerRepresents the method that handles the StrokeErasing event for an InkCanvas.
Public delegate InkCanvasStrokesReplacedEventHandlerRepresents the method that will handle the StrokesReplaced event of a InkCanvas.
Public delegate KeyTipAccessedEventHandlerRepresents the method that handles the KeyTipAccessed attached event of a KeyTipService.
Public delegate ScrollChangedEventHandlerRepresents the method that will handle the ScrollViewerScrollChanged routed event.
Public delegate SelectedCellsChangedEventHandlerRepresents the method that will handle the SelectedCellsChanged event of a DataGrid.
Public delegate SelectionChangedEventHandlerRepresents the method that will handle the SelectionChanged routed event.
Public delegate TextChangedEventHandlerRepresents the method that will handle the TextBoxBaseTextChanged  routed event.
Public delegate ToolTipEventHandlerRepresents the method that will handle routed event that occur when a tooltip opens and closes.
Public enumeration CalendarModeSpecifies whether a Calendar displays a month, year, or decade.
Public enumeration CalendarSelectionModeSpecifies whether a single or multiple dates can be selected in a Calendar.
Public enumeration CharacterCasingSpecifies the case of characters typed manually into a TextBox control.
Public enumeration ClickModeSpecifies when the Click event should be raised.
Public enumeration DataGridClipboardCopyModeDefines constants that specify whether users can copy data from a DataGrid control to the Clipboard and whether column header values are included.
Public enumeration DataGridEditActionDefines constants that specify whether an edit is being canceled or committed.
Public enumeration DataGridEditingUnitDefines constants that specify whether editing is enabled on a cell level or on a row level.
Public enumeration DataGridGridLinesVisibilityDefines constants that specify the visibility of the grid lines in a DataGrid.
Public enumeration DataGridHeadersVisibilityDefines constants that specify the visibility of row and column headers in a DataGrid.
Public enumeration DataGridLengthUnitTypeDefines constants that specify how elements in a DataGrid are sized.
Public enumeration DataGridRowDetailsVisibilityModeDefines constants that specify when DataGrid row details are displayed.
Public enumeration DataGridSelectionModeDefines constants that specify whether single or multiple item selections are supported by a DataGrid control.
Public enumeration DataGridSelectionUnitDefines constants that specify whether cells, rows, or both, are used for selection in a DataGrid control.
Public enumeration DatePickerFormatSpecifies date formats for a DatePicker.
Public enumeration DockSpecifies the Dock position of a child element that is inside a DockPanel.
Public enumeration ExpandDirectionSpecifies the direction in which an Expander control opens.
Public enumeration FlowDocumentReaderViewingModeNames viewing modes for the FlowDocumentReader control.
Public enumeration GridResizeBehaviorSpecifies the rows or columns that are resized by a GridSplitter control.
Public enumeration GridResizeDirectionSpecifies whether a GridSplitter control redistributes space between rows or between columns.
Public enumeration GridViewColumnHeaderRoleDefines the state or role of a GridViewColumnHeader control.
Public enumeration InkCanvasClipboardFormatSpecifies the formats that an InkCanvas will accept from the Clipboard.
Public enumeration InkCanvasEditingModeSpecifies the editing mode for the InkCanvas
Public enumeration InkCanvasSelectionHitResultIdentifies the various parts of a selection adorner on an InkCanvas.
Public enumeration KeyTipHorizontalPlacementSpecifies the values for the horizontal placement of the KeyTip relative to its placement target.
Public enumeration KeyTipVerticalPlacementSpecifies the values for the vertical placement of the KeyTip relative to its placement target.
Public enumeration MediaStateSpecifies the states that can be applied to a MediaElement for the LoadedBehavior and UnloadedBehavior properties.
Public enumeration MenuItemRole Defines the different roles that a MenuItem can have.
Public enumeration Orientation Defines the different orientations that a control or layout can have.
Public enumeration OverflowMode Specifies how ToolBar items are placed in the main toolbar panel and in the overflow panel.
Public enumeration PageRangeSelectionSpecifies whether all the pages or only a limited range will be processed by an operation, usually printing.
Public enumeration PanningModeSpecifies how ScrollViewer reacts to touch manipulation.
Public enumeration ScrollBarVisibilitySpecifies the visibility of a ScrollBar for scrollable content.
Public enumeration ScrollUnitSpecifies the type of unit that is used by the VirtualizingPanelScrollUnit attached property.
Public enumeration SelectionModeDefines the selection behavior for a ListBox.
Public enumeration SelectiveScrollingOrientationSpecifies the direction that SelectiveScrollingGrid panels can scroll.
Public enumeration SpellingReformSpecifies the spelling reform rules used by the spellchecker of the text editing control (i.e. TextBox or RichTextBox).
Public enumeration StickyNoteTypeSpecifies whether a StickyNoteControl accepts text or ink.
Public enumeration StretchDirectionDescribes how scaling applies to content and restricts scaling to named axis types.
Public enumeration UndoAction How the undo stack caused or is affected by a text change.
Public enumeration ValidationErrorEventActionDescribes whether a ValidationError object has been added or cleared.
Public enumeration ValidationStepSpecifies when a ValidationRule runs.
Public enumeration VirtualizationCacheLengthUnitSpecifies the type of unit that is used by the VirtualizingPanelCacheLength attached property.
Public enumeration VirtualizationModeSpecifies the method the VirtualizingStackPanel uses to manage virtualizing its child items.