下面是对 Avalonia 提供的所有控件的详细介绍,包括每个控件的用途和常见用法:

布局类控件

  1. Window

    • 用途:应用程序的窗口容器,包含界面的根元素,通常用于显示顶层的用户界面。
    • 属性WidthHeightTitleContent
  2. Panel

    • 用途:基础布局容器,子类有不同的布局方式。
    • 常见子类

      • StackPanel:垂直或水平堆叠子控件。
      • Grid:类似 HTML 中的表格布局,可通过行列定义元素位置。
      • Canvas:提供绝对定位布局,每个子元素可以自由设置位置。
      • DockPanel:允许将子元素停靠到容器的边缘(上、下、左、右)。
  3. Border

    • 用途:用于给控件添加边框、背景或圆角等效果。
    • 属性BackgroundBorderBrushBorderThicknessCornerRadius
  4. ScrollViewer

    • 用途:提供滚动功能的容器,包含的内容如果超出控件尺寸会显示滚动条。
    • 属性HorizontalScrollBarVisibilityVerticalScrollBarVisibility

输入类控件

  1. Button

    • 用途:用于触发操作的按钮,支持点击事件。
    • 属性ContentCommand
  2. TextBox

    • 用途:用于文本输入的控件,支持单行和多行文本输入。
    • 属性TextWatermark(占位符)。
  3. PasswordBox

    • 用途:用于输入密码的控件,输入内容不可见以保护隐私。
    • 属性Password
  4. CheckBox

    • 用途:复选框,用于表示二元状态(选中/未选中)。
    • 属性IsChecked
  5. RadioButton

    • 用途:单选按钮,用于在一组互斥的选项中选择一个。
    • 属性IsCheckedGroupName
  6. ToggleSwitch

    • 用途:开关控件,表示开启/关闭状态,类似于移动端的切换按钮。
    • 属性IsChecked
  7. Slider

    • 用途:滑块控件,用于选择一个范围内的数值。
    • 属性MinimumMaximumValue
  8. NumericUpDown

    • 用途:用于输入和调整数字的控件,带有增减按钮。
    • 属性MinimumMaximumValueIncrement

选择类控件

  1. ComboBox

    • 用途:下拉选择框,用户可以从预定义的列表中选择一个值。
    • 属性ItemsSelectedItemIsEditable
  2. ListBox

    • 用途:列表框,显示一组可选择的项,支持单选和多选。
    • 属性ItemsSelectedItemSelectionMode
  3. TreeView

    • 用途:树形控件,用于显示层次化数据,支持展开和折叠节点。
    • 属性ItemsSelectedItem
  4. TabControl & TabItem

    • 用途:标签页控件,提供多个视图的切换。
    • 属性ItemsSelectedItem
  5. Expander

    • 用途:可折叠的容器,可以展开或折叠以显示或隐藏内容。
    • 属性IsExpandedHeader
  6. DatePicker

    • 用途:日期选择控件,提供一个用户友好的方式选择日期。
    • 属性SelectedDate
  7. TimePicker

    • 用途:时间选择控件,允许选择时间(时、分、秒)。
    • 属性SelectedTime

显示类控件

  1. TextBlock

    • 用途:用于显示不可编辑的文本内容。
    • 属性TextFontSizeTextAlignment
  2. Label

    • 用途:文本标签,通常用于描述其他控件的用途。
    • 属性Content
  3. Image

    • 用途:用于显示图像内容,支持多种格式(如 PNG、JPG)。
    • 属性SourceStretch(图像拉伸方式)。
  4. ProgressBar

    • 用途:显示任务进度,可以是确定(具体进度)或不确定(循环动画)。
    • 属性MinimumMaximumValueIsIndeterminate
  5. ProgressRing

    • 用途:环形进度指示器,通常用于表示应用正在进行某个任务。
    • 属性IsActive
  6. Calendar

    • 用途:日历控件,显示一个月的日期,可以选择日期范围。
    • 属性SelectedDateDisplayMode
  7. Flyout

    • 用途:浮动窗口,可以用来显示弹出菜单、工具提示等内容。
    • 属性PlacementContent

菜单类控件

  1. Menu

    • 用途:菜单栏控件,可以在应用窗口的顶部显示一个菜单栏。
    • 属性Items(通常包含多个 MenuItem)。
  2. MenuItem

    • 用途:菜单项,显示在菜单栏中,可以包含子菜单项或触发命令。
    • 属性HeaderCommandItems(用于嵌套子菜单)。
  3. ContextMenu

    • 用途:上下文菜单,通常在右键点击时显示。
    • 属性ItemsPlacementTarget

对话框类控件

  1. DialogHost

    • 用途:对话框容器,可以显示自定义内容作为弹出对话框。
    • 属性IsOpenContent
  2. MessageBox

    • 用途:用于显示消息提示框,通常用于提醒或简单确认操作。

动画类控件

  1. Animation

    • 用途:支持对控件的动画处理,包括移动、缩放、旋转等效果。
    • 属性FromToDuration

这些控件可以组合并使用,以构建丰富的跨平台用户界面。此外,Avalonia 提供了丰富的数据绑定和样式系统,使得这些控件可以轻松与数据源绑定,并应用一致的外观设计。

最后修改:2024 年 10 月 04 日
如果觉得我的文章对你有用,请随意赞赏