In Winphone 8.1 there is no way to set
minimum and maximum dates but as eugene-berdnikov suggested in the above post you can set MinYear and MaxYear for the month and day you'll have to handle through code validation.
But UWP(Universal Windows Platform) has a CalendarDatePicker using which you can set MinDate and MaxDate property
if you want to support windows 10 and future releases you may start migrating to UWP(Universal Windows Platform)
Here is a migration tutorial
Its as easy as Creating a New UWP project and copying existing files and rewrite some code thats all.
ViewModel Class
public DateTimeOffset MinDate
{
get { return new DateTime(2016, 1, 1); }
}
public DateTimeOffset MaxDate
{
get { return new DateTime(2017, 12, 31); }
}
XAML Layout
<CalendarDatePicker MinDate="{Binding MinDate}" MaxDate="{Binding MaxDate}"/>
Code behind
CalendarDatePicker calObj=new CalendarDatePicker();
DateTime minDate = new DateTime(2016, 1, 1, 0, 0, 0)
minDate = DateTime.SpecifyKind(minDate, DateTimeKind.Utc);
DateTimeOffset min_Date = minDate;
DateTime maxDate = new DateTime(2017, 1, 1, 0, 0, 0)
maxDate = DateTime.SpecifyKind(maxDate, DateTimeKind.Utc);
DateTimeOffset max_Date = maxDate;
calObj.MinDate=min_Date;
calObj.MaxDate=max_Date;
Kindly know that UWP also supports DatePicker which is part of windows phone 8.1
My suggestion is in winphone 8.1 use DatePicker and Windows 10 use CalendarDatePicker
Here is list of Date and Time controls available in UWP
Most of the windows phone 8.1 devices has got 10 update as well so you may see lots of people moving towards 10