# 控件

Avalonia 提供了以下几组控件：

* [布局控件](#bu-ju)
* [按钮](https://pwangs-organization.gitbook.io/avaloniachinese/docs/broken-reference)
* [数据显示控件](https://pwangs-organization.gitbook.io/avaloniachinese/docs/broken-reference)
* [文本显示和编辑](https://pwangs-organization.gitbook.io/avaloniachinese/docs/broken-reference)
* [值选择](https://pwangs-organization.gitbook.io/avaloniachinese/docs/broken-reference)
* [显示图像](https://pwangs-organization.gitbook.io/avaloniachinese/docs/broken-reference)
* [日期和时间控件](https://pwangs-organization.gitbook.io/avaloniachinese/docs/broken-reference)
* [菜单](https://pwangs-organization.gitbook.io/avaloniachinese/docs/broken-reference)

## 布局

布局控件提供了开发者根据特定规则排列子控件的能力。

### Border（边框）

一个用于给子控件添加边框和背景的控件。

### Canvas（画布）

一个在任意位置显示子控件的面板。

### DockPanel（停靠面板）

一个将其子控件排列在顶部、底部、左侧、右侧或中间的面板。

### Expander（可展开面板）

一个带有可折叠内容部分的头部控件。

### Grid（网格）

一个由列和行组成的灵活网格区域。

### GridSplitter（网格分隔条）

重新分配网格控件的列或行之间的空间。

### Panel（面板）

用于包含多个子控件的基类控件。

### RelativePanel（相对面板）

定义一个区域，在该区域内可以相对于父面板或其他子对象定位和对齐子对象。

### ScrollBar（滚动条）

一个滚动条控件。

### ScrollViewer（滚动视图）

如果内容大于可用空间，则可以滚动其内容的控件。

### SplitView（拆分视图）

一个具有两个视图的控件：一个可折叠面板和一个用于内容的区域。

### StackPanel（堆栈面板）

一个将其子控件水平或垂直排列的面板。

### UniformGrid（均匀网格）

一个具有统一列和行大小的面板。

### Window（窗口）

一个顶层窗口。

### WrapPanel（自动换行面板）

按从左到右的顺序定位子元素，当到达容器框的边缘时，将内容换到下一行。

## 按钮

### Button（按钮）

一个按钮控件。

### RepeatButton（重复按钮）

当按下并按住时，重复引发其点击事件的控件。

### RadioButton（单选按钮）

表示一组选项中用户可以选择一个选项的按钮。

### \[ToggleButton（切换按钮

）]\(togglebutton.md)

表示一个用户可以选择（选中）或取消选择（未选中）的控件。

### ButtonSpinner（按钮微调器）

表示包含两个按钮的微调器控件。

### SplitButton（拆分按钮）

作为一个按钮，具有主要部分和次要部分，可以分别按下。主要部分的行为类似于普通按钮，而次要部分打开一个包含其他操作的弹出菜单。

### ToggleSplitButton（切换拆分按钮）

作为一个切换按钮，具有主要部分和次要部分，可以分别按下。主要部分的行为类似于普通切换按钮，而次要部分打开一个包含其他操作的弹出菜单。

## 数据显示

这些控件用于以表格或列表形式显示数据。

### DataGrid（数据网格）

以可自定义的网格形式显示数据。

### ItemsControl（项控件）

显示一个项目集合。

### ItemsRepeater（项重复器）

表示一个数据驱动的集合控件，包括灵活的布局系统、自定义视图和虚拟化。

### ListBox（列表框）

允许选择单个项目的项控件。

## 文本

用于显示和编辑文本的控件。

### AutoCompleteBox（自动完成框）

表示一个控件，提供一个文本框供用户输入，并在文本框中的输入基础上显示可能的匹配项。

### TextBlock（文本块）

用于显示文本块的控件。

### TextBox（文本框）

表示一个可用于显示或编辑非格式化文本的控件。

### MaskedTextBox（掩码文本框）

表示一个控件，可用于显示或编辑文本格式，它使用掩码区分正确和不正确的用户输入格式。

## 值选择器

### CheckBox（复选框）

一个复选框控件。

### ComboBox（组合框）

一个下拉列表控件。

### Slider（滑块）

一个通过沿着轨道移动滑块控件来选择一系列值的控件。

## 图像

这些控件用于显示位图或矢量图像。

### DrawingImage（绘图图像）

显示矢量图像。

### Image（图像）

显示位图图像。

## 日期和时间

一组控件，用于显示和选择日期、时间或显示日历。

### Calendar（日历）

表示一个控件，通过可视化的日历显示来允许用户选择日期。

### CalendarDatePicker（日历日期选择器）

带有日历下拉的

日期选择控件。

### DatePicker（日期选择器）

一个用于允许用户选择日期的控件。

### TimePicker（时间选择器）

一个用于允许用户选择时间的控件。

## 菜单

### ContextMenu（上下文菜单）

附加到一个控件的上下文菜单。

### Menu（菜单）

一个顶级菜单控件。
