控件和布局
控件
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 基础类型暴露给子控件。对于 grids、stacking 和 docking 等常见布局,Avalonia 拥有多种布局控件。
Panel: 子控件用堆叠在一起的方式填充面板DockPanel: 子控件与panel边缘对齐StackPanel: 子控件垂直或水平堆叠WrapPanel: 当某一行上的控件数量超过空间允许的数量时,子控件将按从左到右的顺序排列并换行Grid: 子控件按行和列定位Canvas: 子控件提供自己的布局
你还可以通过从 Panel 类派生来创建自己的布局。
最后更新于
这有帮助吗?