WPF controls

In this Article I am trying to explain the concept of WPF controls.

WPF provides a comprehensive set of controls. If these controls do not provide the behavior that your applications require, you can easily build your own custom controls.

Standard Controls

The standard controls that are implemented by WPF derive from the Control base class, either directly or indirectly, and include the following:

Check box

You can use a Checkbox in the user interface (UI) of your application to represent options that a user can select or clear. You can use a single check box or you can group two or more check boxes.


The ComboBox control presents users with a list of options. The list is shown and hidden as the control expands and collapses. In its default state, the list is collapsed, displaying only one choice. The user clicks a button to see the complete list of options.


The PasswordBox control is used to input sensitive or private information.


RadioButton controls are usually grouped together and provide a way to offer users a single choice among several options since only one button at a time can be selected.


The RichTextBox element defines an editing control with built-in support for features such as cut and paste, rich document presentation, and content selection.


The Slider allows you select from a range of values by moving a Thumb along a Track.


The TextBox control provides support for basic text input in WPF applications.

List Selection

A ListBox control provides users with a list of selectable items.


The ListView control provides the infrastructure to display a set of data items in different layouts or views.


The TreeView control displays information in a hierarchical structure by using collapsible nodes.

User Information:

Label controls provide information through the text of the label.


A ProgressBar indicates the progress of an operation. The ProgressBar control consists of a window that is filled with the system highlight color as an operation progresses.


The Popup control displays content in a separate window that floats over the current application window.


A tooltip is a small pop-up window that appears when a user pauses the mouse pointer over an element, such as over a Button.


A Button control reacts to user input from a mouse, keyboard, stylus or other input device, and raises a Click event. A Button is a basic user interface (UI) component that can contain simple content like text and can also contain complex content, such as images and Panel controls.


The ContextMenu allows a control to display a Menu that is specific to the context of the control. Typically, the ContextMenu is exposed in the user interface (UI) through the right-click of the mouse button or through the keyboard’s menu button.


A Menu is a control that allows hierarchal organization of elements associated with commands or event handlers. Each Menu can contain multiple MenuItem controls. Each MenuItem can invoke a command or invoke a Click handler. A MenuItem can also have multiple MenuItem elements as children, forming a submenu.


A Separator control draws a line, horizontal or vertical, between items in controls, such as ListBox, Menu, and ToolBar.


A StatusBar is a horizontal area at the bottom of a window where an application can display status information.


The ToolBar control is a container for a group of commands or controls which are typically related in their function.


The Image element is used to display bitmap images in Windows Presentation Foundation (WPF) applications.


The Viewbox control is used to stretch or scale a child element.

Dialog boxes

OpenFileDialog box a common dialog box that allows a user to specify a filename for one or more files to open. This class cannot be inherited


The PrintDialog control is used to instantiate a standard print dialog box that automatically configures a PrintTicket and PrintQueue according to user input.


SaveFileDialog a common dialog that allows the user to specify a filename to save a file as. SaveFileDialog cannot be used by an application that is executing under partial trust.


An Expander allows a user to view a header and expand that header to see further details, or to collapse a section up to a header.


The GroupBox control is a HeaderedContentControlthat provides a titled container for graphical user interface (GUI) content.


The RepeatButton is similar to a Button. However, RepeatButton elements give you control over when and how the Click event occurs.


A ScrollBar allows you to view content that is outside of the current viewing area by sliding the Thumb to make the content visible.


The ScrollViewer control creates a scrollable region wherein content can be scrolled horizontally or vertically.


TabControl elements display content on discrete pages accessed by selecting the appropriate tab. Each tab contains a TabItem.


Canvas is a layout control that enables absolute positioning of child elements.


The DockPanel element is used to position child content along the edge of a layout container.


The Grid element is used to precisely position content in rows and columns.


The GridSplitter redistributes space between columns or rows of a Grid control.


Panel is the base class for all elements that support application layout in Windows Presentation Foundation (WPF).


The StackPanel element is used to stack child elements horizontally or vertically.


The WrapPanel element positions child elements in sequential position from left to right, breaking content to the next line at the edge of its containing box.


The Frame control supports content navigation within content. Frame can be hosted by a root element like Window, NavigationWindow, Page, UserControl, FlowDocument, or as an island within a content tree that belongs to a root element.


Hyperlink enforces a strong content model for child content. See TextElement Content Model Overview for more information about the Hyperlink content model.


The DocumentViewer control is used to view FixedDocument content (such as XML Paper Specification (XPS) documents) in a paginated format.


The FlowDocumentPageViewer control is used to view FlowDocument content on a per page basis. Contrast with the FlowDocumentScrollViewer, which presents FlowDocument content in a scrolling viewer.


The FlowDocumentReader control is used to view FlowDocument content. It supports multiple viewing modes.


The FlowDocumentScrollViewer control is used to view FlowDocument content in a scrolling container. Contrast with FlowDocumentPageViewer, which views content on a per page basis.


Last updated:11/28/2017 12:41:57 AM


Leave Comment