Calendar是只读日历视图,需用DisplayDate、BlackoutDates等配置;DatePicker/CalendarDatePicker是带输入框的复合控件,须绑定SelectedDate并设置DisplayFormat;Ursa DateTimePicker支持时分秒,需同时设DisplayFormat和PanelFormat。

Avalonia 中的 Calendar 和 DatePicker(包括 CalendarDatePicker)是两个常用但用途不同的日期控件:前者是纯日历视图,后者是带文本输入 + 下拉日历的复合控件。正确使用需注意模板、样式、绑定和常见陷阱。
Calendar 基础用法与限制
Calendar 是一个只读日历面板,不自带输入框,适合嵌入仪表板或作为独立日历展示:
- 基本写法:
<calendar selectionmode="SingleDate"></calendar>,支持单选、多选、范围选等模式 - 默认显示当前月,可通过
DisplayDate属性指定初始显示日期 - 禁用日期用
BlackoutDates集合,例如:<calendar.blackoutdates><calendardaterange start="2025-12-25" end="2026-01-01"></calendardaterange></calendar.blackoutdates> - 它不自动响应日期变更事件,需监听
SelectedDatesChanged或绑定SelectedDate
DatePicker / CalendarDatePicker 正确配置
Avalonia 官方推荐的是 CalendarDatePicker(常简称为 DatePicker),它由文本框 + 下拉弹窗组成,但默认行为较“轻”,需手动补全关键配置才能稳定工作:
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。
还木有评论哦,快来抢沙发吧~