为Datepicker控件设置Mindate和MaxDate

Osi*_*rus 3 windows xaml datepicker winrt-xaml

我目前正在使用DatePicker的控件,我试图限制日期以显示MinDate和Maxdate.不幸的是我找不到任何相关的方法来设置Min和Max天/月除了Year,我甚至试图扩展Controls类来设置在DatePicker加载期间显示的Date.是否可以限制用户可以从UWP应用程序上的日期选择器中选择哪些日期?

谢谢!

mra*_*inc 6

我假设您正在使用Windows 10 Universal Windows Platform进行开发.在UWP中的DatePicker,您只能设置MinYear和MaxYear.您可以使用4个日期时间控件(请参阅此链接)

我建议你使用新的日历日期选择器,它允许你设置MinDate和MaxDate

CalendarDatePicker cdp=new CalendarDatePicker();
cdp.MinYear=DateTime.Now();
cdp.MaxYear=DateTime.AddYears(3);
Run Code Online (Sandbox Code Playgroud)

  • CalendarDatePicker 中没有任何名为 MinYear 和 MaxYear 的属性。 (2认同)

小智 6

如果您使用 DatePicker 控件(.net Framework >= 4.0),您也可以直接在 XAML 代码中绑定它,如下所示:


 <DatePicker
            x:Name="datePickr"
            MinWidth="150"
            Margin="10"
            DisplayDateEnd="{Binding Mode=OneWay, Source={x:Static
            System:DateTime.Today}}"/>

Run Code Online (Sandbox Code Playgroud)

如果您使用 Xceed Extended WPF 工具包中的 DateTimePicker 控件,您可以使用与 DisplayDateEnd 相同的方式为 DatePicker 绑定最大属性。

ps 不要忘记在 XAML 文件头中添加以下内容:

xmlns:System="clr-namespace:System;assembly=mscorlib"
Run Code Online (Sandbox Code Playgroud)