> For the complete documentation index, see [llms.txt](https://avaloniachina.gitbook.io/avalonia/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://avaloniachina.gitbook.io/avalonia/docs/controls.md).

# 控件

Avalonia provides following groups of controls:

* [Layout controls](#layout)
* [Buttons](#buttons)
* [Data display controls](#data-display)
* [Text display and editing](#text)
* [Value selection](#value-selectors)
* [Displaying images](#images)
* [Date and time controls](#date-and-time)
* [Menus](#menus)

## Layout

Layout controls provide ability for developer to arrange child controls according to specific rules.

### [Border](/avalonia/docs/controls/border.md)

A control which decorates a child with a border and background.

### [Canvas](/avalonia/docs/controls/canvas.md)

A panel that displays child controls at arbitrary locations.

### [DockPanel](/avalonia/docs/controls/dockpanel.md)

A panel which arranges its children at the top, bottom, left, right or center.

### [Expander](/avalonia/docs/controls/expander.md)

A control with a header that has a collapsible content section.

### [Grid](/avalonia/docs/controls/grid.md)

A flexible grid area that consists of columns and rows.

### [GridSplitter](/avalonia/docs/controls/gridsplitter.md)

Redistributes space between columns or rows of a [Grid](/avalonia/docs/controls/grid.md) control.

### [Panel](/avalonia/docs/controls/panel.md)

Base class for controls that can contain multiple children.

### [RelativePanel](/avalonia/docs/controls/relativepanel.md)

Defines an area within which you can position and align child objects in relation to each other or the parent panel.

### [ScrollBar](/avalonia/docs/controls/scrollbar.md)

A scrollbar control.

### [ScrollViewer](/avalonia/docs/controls/scrollviewer.md)

A control scrolls its content if the content is bigger than the space available.

### [SplitView](/avalonia/docs/controls/splitview.md)

A control with two views: A collapsible pane and an area for content.

### [StackPanel](/avalonia/docs/controls/stackpanel.md)

A panel which lays out its children horizontally or vertically.

### UniformGrid

A panel with uniform column and row sizes.

### [Window](/avalonia/docs/getting-started/windows.md)

A top-level window.

### [WrapPanel](/avalonia/docs/controls/wrappanel.md)

Positions child elements in sequential position from left to right, breaking content to the next line at the edge of the containing box.

## Buttons

### [Button](https://github.com/avaloniachina/Documentation/blob/master/docs/controls/button.md)

A button control.

### [RepeatButton](https://github.com/avaloniachina/Documentation/blob/master/docs/controls/repeatbutton.md)

Represents a control that raises its click event repeatedly when it is pressed and held.

### [RadioButton](https://github.com/avaloniachina/Documentation/blob/master/docs/controls/radiobutton.md)

Represents a button that allows a user to select a single option from a group of options.

### [ToggleButton](https://github.com/avaloniachina/Documentation/blob/master/docs/controls/togglebutton.md)

Represents a control that a user can select (check) or clear (uncheck).

### [ButtonSpinner](https://github.com/avaloniachina/Documentation/blob/master/docs/controls/buttonspinner.md)

Represents a spinner control that includes two Buttons

### [SplitButton](https://github.com/avaloniachina/Documentation/blob/master/docs/controls/SplitButton.md)

Functions as a button with primary and secondary parts that can each be pressed separately. The primary part behaves like normal button and the secondary part opens a flyout with additional actions.

### [ToggleSplitButton](https://github.com/avaloniachina/Documentation/blob/master/docs/controls/ToggleSplitButton.md)

Functions as a toggle button with primary and secondary parts that can each be pressed separately. The primary part behaves like a normal toggle button and the secondary part opens a flyout with additional actions.

## Data Display

These controls helps display data, either in tabular or list form.

### [DataGrid](/avalonia/docs/controls/datagrid.md)

Displays data in a customizable grid.

### [ItemsControl](/avalonia/docs/controls/itemscontrol.md)

Displays a collection of items.

### [ItemsRepeater](/avalonia/docs/controls/itemsrepeater.md)

Represents a data-driven collection control that incorporates a flexible layout system, custom views, and virtualization.

### [ListBox](/avalonia/docs/controls/listbox.md)

An items control in which individual items can be selected.

## Text

Controls for displaying and editing text

### [AutoCompleteBox](/avalonia/docs/controls/autocompletebox.md)

Represents a control that provides a text box for user input and a drop-down that contains possible matches based on the input in the text box.

### [TextBlock](/avalonia/docs/controls/textblock.md)

A control that displays a block of text.

### [TextBox](/avalonia/docs/controls/textbox.md)

Represents a control that can be used to display or edit unformatted text.

### [MaskedTextBox](/avalonia/docs/controls/maskedtextbox.md)

Represents a control that can be used to display or edit text format it uses a mask to distinguish between proper and improper user input format.

## Value selectors

### [CheckBox](/avalonia/docs/controls/checkbox.md)

A check box control.

### [ComboBox](/avalonia/docs/controls/combobox.md)

A drop-down list control.

### [Slider](/avalonia/docs/controls/slider.md)

A control that lets the user select from a range of values by moving a thumb control along a track.

## Images

These controls display bitmap or vector images.

### DrawingImage

Displays a vector image.

### [Image](/avalonia/docs/controls/image.md)

Displays a bitmap image.

## Date and Time

Set of controls which gives you ability display display and select dates, point of time, or display calendar..

### [Calendar](/avalonia/docs/controls/calendar.md)

Represents a control that enables a user to select a date by using a visual calendar display.

### CalendarDatePicker

A control for selecting dates with a calendar drop-down.

### [DatePicker](/avalonia/docs/controls/datepicker.md)

A control to allow the user to select a date.

### [TimePicker](/avalonia/docs/controls/timepicker.md)

A control to allow the user to select a time.

## Menus

### [ContextMenu](/avalonia/docs/controls/contextmenu.md)

A context menu attached to a control.

### [Menu](/avalonia/docs/controls/menu.md)

A top-level menu control.
