mirror of
https://github.com/AtomUI/AtomUI.git
synced 2026-10-19 06:58:57 +08:00
4.1 KiB
4.1 KiB
Expander API 参考
命名空间
- C#:
AtomUI.Desktop.Controls - AXAML:
xmlns:atom="https://atomui.net"
公共属性
AtomUI 扩展属性
| 属性 | 类型 | 默认值 | 说明 |
|---|---|---|---|
SizeType |
SizeType |
Middle |
尺寸类型(Small / Middle / Large),使用 AddOwner 模式共享 |
IsShowExpandIcon |
bool |
true |
是否显示展开/收起图标 |
ExpandIcon |
PathIcon? |
RightOutlined |
自定义展开图标,默认通过 BindingPriority.Template 设置 |
AddOnContent |
object? |
null |
头部右侧的附加内容 |
AddOnContentTemplate |
IDataTemplate? |
null |
附加内容的数据模板 |
IsGhostStyle |
bool |
false |
是否为幽灵风格(头部背景透明) |
IsBorderless |
bool |
false |
是否为无边框风格 |
TriggerType |
ExpanderTriggerType |
Header |
触发展开/收起的方式(Header / Icon) |
ExpandIconPosition |
ExpanderIconPosition |
Start |
展开图标的位置(Start 在左 / End 在右) |
HeaderPadding |
Thickness? |
null |
自定义头部内边距(设置后覆盖 Token 默认值) |
ContentPadding |
Thickness? |
null |
自定义内容内边距(设置后覆盖 Token 默认值) |
IsMotionEnabled |
bool |
由 EnableMotion Token 控制 |
是否启用展开/收起过渡动画,使用 AddOwner 模式共享 |
继承自 Avalonia Expander 的属性
| 属性 | 类型 | 默认值 | 说明 |
|---|---|---|---|
Header |
object? |
null |
头部内容 |
HeaderTemplate |
IDataTemplate? |
null |
头部内容模板 |
Content |
object? |
null |
折叠区域内容 |
ContentTemplate |
IDataTemplate? |
null |
折叠内容模板 |
IsExpanded |
bool |
false |
是否展开 |
ExpandDirection |
ExpandDirection |
Down |
展开方向(Down / Up / Left / Right) |
IsEnabled |
bool |
true |
是否启用(禁用后不可展开/收起) |
枚举
ExpanderTriggerType
| 值 | 说明 |
|---|---|
Header |
点击整个头部区域触发展开/收起 |
Icon |
仅点击展开图标触发 |
ExpanderIconPosition
| 值 | 说明 |
|---|---|
Start |
展开图标在左侧(Grid.Column=0) |
End |
展开图标在右侧(Grid.Column=3) |
ExpandDirection(Avalonia 内置)
| 值 | 说明 |
|---|---|
Down |
向下展开(头部在上) |
Up |
向上展开(头部在下) |
Left |
向左展开(头部在右,旋转 90°) |
Right |
向右展开(头部在左,旋转 90°) |
伪类
| 伪类 | 来源 | 触发条件 |
|---|---|---|
:expanded |
ExpanderPseudoClass |
IsExpanded = true |
:up |
ExpanderPseudoClass |
ExpandDirection = Up |
:down |
ExpanderPseudoClass |
ExpandDirection = Down |
:left |
ExpanderPseudoClass |
ExpandDirection = Left |
:right |
ExpanderPseudoClass |
ExpandDirection = Right |
:custom-header-padding |
ExpanderPseudoClass |
HeaderPadding != null |
:custom-content-padding |
ExpanderPseudoClass |
ContentPadding != null |
:disabled |
Avalonia 标准 | IsEnabled = false |
模板部件
| 部件名 | 类型 | 说明 |
|---|---|---|
PART_Frame |
Border |
外层边框容器 |
PART_MainLayout |
DockPanel |
主布局面板 |
PART_ExpandButton |
IconButton |
展开/收起图标按钮 |
PART_HeaderLayoutTransform |
LayoutTransformControl |
头部旋转容器(水平展开时使用) |
PART_HeaderLayout |
Grid |
头部 4 列网格 |
PART_HeaderPresenter |
ContentPresenter |
头部内容呈现器 |
PART_HeaderDecorator |
Border |
头部装饰边框(背景色 + 分隔线) |
PART_ContentPresenter |
ContentPresenter |
折叠内容呈现器 |
PART_AddOnContentPresenter |
ContentPresenter |
附加内容呈现器 |
PART_ContentMotionActor |
LayoutAwareMotionActor |
展开/收起动画执行器 |
实现的接口
| 接口 | 定义位置 | 作用 |
|---|---|---|
IMotionAwareControl |
AtomUI.Controls |
动画开关(IsMotionEnabled) |