DatePicker API 参考
命名空间
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
IMotionAwareControl
IInputControlStatusAware
IInputControlStyleVariantAware
ICompactSpaceAware
在 Space.Compact 容器中使用时自动调整圆角和边框。
IFormItemAware
可作为 FormItem 的子控件参与表单验证流程。
- DatePicker 表单值类型:
DateTime?
- RangeDatePicker 表单值类型:
(DateTime?, DateTime?)?
IFormItemFeedbackAware