为 Datepicker 控件设置 Mindate 和 MaxDate
Setting Mindate and MaxDate for Datepicker Control
我目前正在使用 DatePicker 的控件,我试图在其中限制日期以显示 MinDate 和 Maxdate。不幸的是,我找不到任何相关的方法来设置 Min 和 Max days/Month 除了 Year,我什至尝试扩展 Controls class 以设置 Date 在 DatePicker 加载期间显示。是否可以限制用户可以从 UWP 应用程序的日期选择器 select 中选择哪些日期?
谢谢!
我假设您正在 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);
WPF DatePicker
具有 DisplayDateStart
和 DislayDateEnd
属性;参见 https://msdn.microsoft.com/en-us/library/system.windows.controls.datepicker.displaydatestart(v=vs.110).aspx。
如果您使用 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 控件,您可以使用与 DisplayDateEnd 相同的方式绑定 Maximum 属性。
p.s。不要忘记将以下内容添加到您的 XAML 文件 header:
xmlns:System="clr-namespace:System;assembly=mscorlib"
我目前正在使用 DatePicker 的控件,我试图在其中限制日期以显示 MinDate 和 Maxdate。不幸的是,我找不到任何相关的方法来设置 Min 和 Max days/Month 除了 Year,我什至尝试扩展 Controls class 以设置 Date 在 DatePicker 加载期间显示。是否可以限制用户可以从 UWP 应用程序的日期选择器 select 中选择哪些日期?
谢谢!
我假设您正在 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);
WPF DatePicker
具有 DisplayDateStart
和 DislayDateEnd
属性;参见 https://msdn.microsoft.com/en-us/library/system.windows.controls.datepicker.displaydatestart(v=vs.110).aspx。
如果您使用 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 控件,您可以使用与 DisplayDateEnd 相同的方式绑定 Maximum 属性。
p.s。不要忘记将以下内容添加到您的 XAML 文件 header:
xmlns:System="clr-namespace:System;assembly=mscorlib"