在datepicker windows phone 8中禁用日期晚于今天的日期

时间:2014-12-11 08:37:43

标签: windows-phone-8

我正在使用Windows Phone 8工具包中的DatePicker,我想要比今天晚些时候禁用日期。 如何在我的自定义DatePicker中执行此操作?

1 个答案:

答案 0 :(得分:0)

不幸的是,使用默认的DatePicker是不可能的。您只能限制最小和最大年份。

按以上评论更新:

使用phone toolkit timepicker时,您可以更改工具包的* DateSource类中的行为。 这是我添加最多一天的示例。 从GetRelativeTo(...)返回null会中断循环选择器,并在结束时停止。

    internal class DayDataSource : DataSource
    {
        protected override DateTime? GetRelativeTo(DateTime relativeDate, int delta)
        {
            var nextDay = relativeDate.AddDays(delta);
            if (nextDay.Date < DateTime.Now.Date || nextDay.Date > MaxValue.Date)
            {
                return null;
            }

            return new DateTime(relativeDate.Year, relativeDate.Month, nextDay.Day, relativeDate.Hour, relativeDate.Minute, 0);
        }
    }

你必须弄清楚实现的更多细节,我记得我花了一些时间来完成它。