为Datepicker控件设置Mindate和MaxDate

时间:2015-09-15 03:20:48

标签: windows xaml datepicker winrt-xaml

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

谢谢!

3 个答案:

答案 0 :(得分:6)

我假设您正在使用Windows 10通用Windows平台进行开发。在UWP中的DatePicker,您只能设置MinYear和MaxYear。您可以使用4个日期时间控件(请参阅此link

我建议您使用新的Calendar Date Picker,它允许您设置MinDate和MaxDate

CalendarDatePicker cdp=new CalendarDatePicker();
cdp.MinYear=DateTime.Now();
cdp.MaxYear=DateTime.AddYears(3);

答案 1 :(得分:2)

答案 2 :(得分:0)

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


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

,如果您使用Xceed Extended WPF工具包中的DateTimePicker控件,则可以使用与DisplayPateEnd相同的方式绑定Maximum属性。

p.s。不要忘记在XAML文件标题中添加以下内容:

xmlns:System="clr-namespace:System;assembly=mscorlib"