Files

3.2 KiB
Raw Permalink Blame History

Drawer API 参考

命名空间

namespace AtomUI.Desktop.Controls;

AXAML 命名空间前缀:atom(xmlns:atom="https://atomui.net")


枚举类型

DrawerPlacement

抽屉滑入方向。

值 说明
Left 从左侧滑入
Top 从顶部滑入
Right 从右侧滑入(默认)
Bottom 从底部滑入

CustomizableSizeType(来自 AtomUI.Controls)

可自定义的尺寸类型枚举。

值 说明
Small 小号(默认,378px)
Middle 中号(520px)
Large 大号(736px)
Custom 自定义(使用 DialogSize 指定)

公共属性(StyledProperty)

属性名 类型 默认值 说明
Content object? null 抽屉内容(支持任意控件),标记 [Content] 可在 AXAML 中直接作为子元素
ContentTemplate IDataTemplate? null 内容数据模板
IsOpen bool false 抽屉是否打开。默认绑定模式为 TwoWay,可直接与 ViewModel 属性双向绑定
Placement DrawerPlacement Right 抽屉滑入方向
OpenOn Control? null(自动绑定到 TopLevel) 指定渲染范围的目标控件。子抽屉自动继承父抽屉的 OpenOn;若无父抽屉则自动绑定到 TopLevel
IsShowMask bool true 是否显示半透明遮罩层
IsShowCloseButton bool true 是否显示关闭按钮
CloseWhenClickOnMask bool true 点击遮罩层是否关闭抽屉
Title string — 抽屉标题
Footer object? null 底部区域内容(标记 [DependsOn(FooterTemplate)])
FooterTemplate IDataTemplate? null 底部区域数据模板
Extra object? null 标题栏右侧额外操作区域(标记 [DependsOn(ExtraTemplate)])
ExtraTemplate IDataTemplate? null 额外操作区域数据模板
SizeType CustomizableSizeType Small 预设尺寸(共享属性,通过 AddOwner 注册,默认值被覆盖为 Small)
DialogSize Dimension 由 Token 控制 自定义尺寸(像素或百分比)。当 SizeType 为 Small/Middle/Large 时由 Token 自动设置;Custom 时由用户指定
PushOffsetPercent double 由 Token 控制(0.4) 多级抽屉 Push 偏移比率
IsMotionEnabled bool 跟随全局 Token 是否启用滑入/滑出动画(共享属性)。子抽屉自动继承父抽屉的 IsMotionEnabled

事件

事件名 类型 说明
Opened EventHandler? 抽屉打开后触发
Closed EventHandler? 抽屉关闭后触发

静态方法

方法 返回值 说明
Drawer.GetDrawer(Visual) Drawer? 从可视树中查找指定元素所属的 Drawer 实例

实现的接口

IMotionAwareControl

public bool IsMotionEnabled { get; set; }

控制滑入/滑出动画。

ICustomizableSizeTypeAware

public CustomizableSizeType SizeType { get; set; }

支持 Small / Middle / Large / Custom 四种尺寸模式。