控件和布局
控件
Avalonia 提供了许多核心控件,以下是一些常见的控件:
按钮:
Button、RepeatButton数据显示:
ItemsControl、ItemsRepeater、ListBox、TreeView输入:
CheckBox、ComboBox、RadioButton、Slider、TextBox布局:
Border、Canvas、DockPanel、Expander、Grid、GridSplitter、Panel、Separator、ScrollBar、ScrollViewer、StackPanel、Viewbox、WrapPanel菜单:
ContextMenu、Menu、NativeMenu导航:
TabControl、TabStrip用户信息:
ProgressBar、TextBlock、ToolTip
输入和命令
控件最常检测和响应用户输入。Avalonia 输入系统使用直接事件和路由事件来支持文本输入、焦点管理和鼠标定位。
应用程序通常具有复杂的输入要求。Avalonia 提供了一个命令系统,将用户输入动作与响应这些动作的代码分离。
布局
当您创建用户界面时,需要按位置和大小排列控件以形成布局。任何布局的关键要求是适应窗口大小和显示设置的变化。Avalonia提供了一个一流的、可扩展的布局系统来避免您编写适应布局的代码。
布局系统的基石是相对定位,它增加了适应变化的窗口和显示条件的能力。此外,布局系统管理控件之间的协商以确定布局。该协商是一个两步过程:首先,控件告诉其父控件它需要什么位置和大小;其次,父控件告诉控件它可以使用什么空间。
布局系统通过基本的Avalonia类暴露给子控件。对于常见的布局,如网格、堆叠和停靠,Avalonia包括了几个布局控件:
Panel:子控件重叠在一起以填充面板DockPanel:子控件对齐到面板的边缘StackPanel:子控件垂直或水平堆叠WrapPanel:子控件按从左到右的顺序定位,并在当前行的控件数量超过空间允许时换行到下一行Grid:子控件按行和列定位Canvas:子控件提供其自己的布局
您还可以通过从Panel类派生来创建自己的布局。
Last updated