Files

6.2 KiB
Raw Permalink Blame History

DatePicker API 参考

命名空间

namespace AtomUI.Desktop.Controls;

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


枚举类型

ClockIdentifierType

时钟标识类型枚举,控制时间显示的小时制。

值 说明
HourClock12 12 小时制(AM/PM)
HourClock24 24 小时制(默认)

InputControlStyleVariant

输入控件样式变体枚举。

值 说明
Outline 轮廓样式(默认),白色背景 + 实线边框
Filled 填充样式,灰色背景 + 无边框
Borderless 无边框样式,透明背景 + 无边框

InputControlStatus

输入控件状态枚举。

值 说明
Default 默认状态
Warning 警告状态(橙色边框)
Error 错误状态(红色边框)

SizeType(来自 AtomUI.Controls)

尺寸类型枚举。

值 说明
Small 小号
Middle 中号(默认)
Large 大号

DatePicker 公共属性(StyledProperty)

属性名 类型 默认值 说明
SelectedDateTime DateTime? null 当前选中的日期时间值,支持双向绑定和数据验证
DefaultDateTime DateTime? null 默认日期时间值,组件初始化时若 SelectedDateTime 为空则自动设置为此值
Format string? null 自定义日期显示格式,为 null 时自动推断(yyyy-MM-dd 或 yyyy-MM-dd HH:mm:ss)
IsShowTime bool false 是否显示时间选择器,开启后日历面板右侧附加 TimeView
IsNeedConfirm bool false 是否需要手动确认,开启后底部显示确认按钮
IsShowNow bool true 是否显示今天/现在快捷按钮
ClockIdentifier ClockIdentifierType HourClock24 时钟标识,控制 12/24 小时制显示

继承自 InfoPickerInput 的常用属性

属性名 类型 默认值 说明
PlaceholderText string? null 占位文本,未选择日期时显示
InfoIcon PathIcon? CalendarOutlined 输入框图标,默认为日历图标
PickerPlacement PlacementMode BottomEdgeAlignedLeft Flyout 弹出方向
SizeType SizeType SizeType.Middle 控件尺寸(共享属性,通过 AddOwner 注册)
StyleVariant InputControlStyleVariant Outline 样式变体(Outline / Filled / Borderless)
Status InputControlStatus Default 验证状态(Default / Warning / Error)
IsMotionEnabled bool 跟随全局 Token 是否启用过渡动画
IsEnabled bool true 是否启用
IsReadOnly bool false 是否只读
LeftAddOn object? null 左侧附加内容(外部)
RightAddOn object? null 右侧附加内容(外部)
ContentLeftAddOn object? null 左侧附加内容(内部)
ContentRightAddOn object? null 右侧附加内容(内部)
IsShowArrow bool false Flyout 是否显示箭头
MarginToAnchor double 由 Token 控制 Flyout 与锚点的距离

RangeDatePicker 公共属性(StyledProperty)

属性名 类型 默认值 说明
RangeStartSelectedDate DateTime? null 范围起始日期,支持双向绑定和数据验证
RangeEndSelectedDate DateTime? null 范围结束日期,支持双向绑定和数据验证
RangeStartDefaultDate DateTime? null 范围起始默认日期(CLR 属性)
RangeEndDefaultDate DateTime? null 范围结束默认日期(CLR 属性)
IsNeedConfirm bool false 是否需要手动确认
IsShowNow bool true 是否显示今天/现在快捷按钮
IsShowTime bool false 是否显示时间选择器
ClockIdentifier ClockIdentifierType HourClock24 时钟标识
Format string? null 自定义日期显示格式

继承自 RangeInfoPickerInput 的附加属性

属性名 类型 默认值 说明
SecondaryPlaceholderText string? null 结束日期输入框的占位文本

RangeDatePicker 同时继承了 InfoPickerInput 的所有公共属性(SizeType、StyleVariant、Status、PickerPlacement 等)。


公共方法

DatePicker

方法名 返回类型 说明
Clear() void 清除选中的日期值(设为 null),不考虑默认值
Reset() void 重置为默认值,当 DefaultDateTime 不为 null 时,将 SelectedDateTime 设为 DefaultDateTime

RangeDatePicker

方法名 返回类型 说明
Clear() void 同时清除起始和结束日期
Reset() void 将起始和结束日期重置为各自的默认值

伪类(Pseudo-Classes)

DatePicker 和 RangeDatePicker 继承自 InfoPickerInput 的伪类:

伪类 常量 触发条件
:choosing InfoPickerPseudoClass.Choosing 用户正在面板中选择(悬浮在日历或时间选择器上)
:flyout-open InfoPickerPseudoClass.FlyoutOpen Flyout 弹出面板处于打开状态

继承的标准伪类

伪类 触发条件
:pointerover 鼠标悬浮
:disabled IsEnabled == false
:focus 获得焦点
:focus-visible 通过键盘获得焦点

实现的接口

ISizeTypeAware

public SizeType SizeType { get; set; }

IMotionAwareControl

public bool IsMotionEnabled { get; set; }

IInputControlStatusAware

public InputControlStatus Status { get; set; }

IInputControlStyleVariantAware

public InputControlStyleVariant StyleVariant { get; set; }

ICompactSpaceAware

在 Space.Compact 容器中使用时自动调整圆角和边框。

IFormItemAware

可作为 FormItem 的子控件参与表单验证流程。

  • DatePicker 表单值类型:DateTime?
  • RangeDatePicker 表单值类型:(DateTime?, DateTime?)?

IFormItemFeedbackAware

public IFormValidateFeedback? FormFeedback { get; set; }