4
votes

I'm currently using DatePicker’s control, where I tried to limit the dates to show MinDate & Maxdate. Unfortunately I couldn't find any related method to set the Min and Max days/Month except for Year, I even tried to extends the Controls class to set the Date to be display during it the DatePicker loaded. Is it possible to limit which dates a user can select from a datepicker on a UWP application?

Thanks!

3

3 Answers

6
votes

I assume you're developing on Windows 10 Universal Windows Platform. DatePicker in UWP, you can only set the MinYear and MaxYear. There's 4 datetime control that you can use (Refer to this link)

I would suggest you to use the new Calendar Date Picker which allows you to set MinDate and MaxDate

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

If you use DatePicker control (.net Framework >= 4.0) you can bind it also directly in the XAML code like this :


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

and if you use DateTimePicker control from Xceed Extended WPF toolkit you can bind Maximum Property the same way as DisplayDateEnd for DatePicker.

p.s. Don't forget to add folowing to your XAML file header:

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