SuperAPI AI 工具集

syncfusion-winui-date-picker

前端与建站

查看项目

更新于 10-16 03:19

技能介绍

用途

Syncfusion WinUI DatePicker(SfDatePicker)用于在 WinUI 3 桌面应用中实现日期输入与选择。它把可编辑的文本字段与下拉日期微调器(spinner)组合在一起,提供触摸友好的日期选择体验,适合需要日期录入、日期范围限制或特定日期屏蔽的界面。

主要能力

  • 日期选择:通过 SelectedDate 属性设置和获取选中日期,支持从下拉微调器交互选择;AllowNull 允许空值,PlaceholderText 提供水印占位文本。
  • 日期限制:MinDate、MaxDate 限定可选范围(默认 1/1/1921 至 12/31/2121);BlackoutDates 集合屏蔽特定日期;DateFieldItemPrepared 事件可动态禁用日期(如屏蔽周末);SelectedDateChanging 事件可在日期变更前取消变更。
  • 格式与本地化:DisplayDateFormat 控制编辑器显示格式,DayFormat、MonthFormat、YearFormat 控制微调器各字段格式;CalendarIdentifier 支持多种日历类型(公历、希伯来历、回历、波斯历等);Language 用于本地化,FlowDirection 支持 RTL。
  • 编辑模式:EditMode 支持掩码(Mask)与自由(Normal)编辑模式,掩码模式带自动纠正;ShowClearButton 控制清除按钮显示。
  • 下拉自定义:DropDownButtonTemplate 自定义下拉按钮 UI,ShowDropDownButton 控制按钮显示,DropDownPlacement 控制对齐方式,IsOpen 可编程打开下拉,DropDownHeight 设置下拉高度,VisibleItemsCount 控制可见项数量。
  • 下拉头部:DropDownHeader 添加提示内容,ShowDropDownHeader 控制显示,DropDownHeaderTemplate 自定义头部 UI,ShowColumnHeaders 控制列标题显示。
  • 微调器自定义:ItemWidth、ItemHeight 设置单元格尺寸,MinItemWidth、MaxItemWidth 限制宽度,ItemContainerStyle 设置样式,ItemTemplate 与 ItemTemplateSelector 自定义单元格模板,DateFieldPrepared 事件可自定义列。
  • 事件:SelectedDateChanged、SelectedDateChanging、DateFieldItemPrepared、DateFieldPrepared。

使用方式

控件位于 NuGet 包 Syncfusion.Editors.WinUI,命名空间 Syncfusion.UI.Xaml.Editors,控件类为 SfDatePicker,可通过 XAML 或 C# 配置。

XAML 示例:

<Window x:Class="DatePickerDemo.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:editors="using:Syncfusion.UI.Xaml.Editors">

<Grid>
    <editors:SfDatePicker 
        x:Name="datePicker"
        Header="Select Date"
        PlaceholderText="Choose a date"
        SelectedDate="2026-03-22"
        Width="250" 
        Height="75" />
</Grid>

</Window>

C# 示例:

using Syncfusion.UI.Xaml.Editors;

namespace DatePickerDemo { public sealed partial class MainWindow : Window { public MainWindow() { this.InitializeComponent();

        // Creating an instance of the Date Picker control
        SfDatePicker sfDatePicker = new SfDatePicker();
        this.Content = sfDatePicker;
    }
}

}

常见模式包括:日期范围限制(MinDate/MaxDate)、屏蔽特定日期(BlackoutDates)、自定义日期格式(DisplayDateFormat、DayFormat、MonthFormat、YearFormat)、本地化与日历类型(CalendarIdentifier、Language、FlowDirection)、空值支持(AllowNull)、立即选择(ShowSubmitButtons="False")。

适用场景

  • 预约排期:仅允许选择工作日,屏蔽周末。
  • 预订系统:用 BlackoutDates 标记不可用日期。
  • 出生日期录入:限制 MaxDate 为当前日期,MinDate 为历史日期。
  • 多语言应用:根据用户区域设置 Language 与 CalendarIdentifier。
  • 品牌化界面:通过 DropDownButtonTemplate 等自定义外观。

限制

资料未提供该控件的收费、价格、平台兼容性细节、性能数据或效果保证;具体支持范围与授权方式请以官方文档为准。