【问题标题】:Setting Mindate and MaxDate for Datepicker Control为 Datepicker 控件设置 Mindate 和 MaxDate
【发布时间】:2023-03-31 23:40:01
【问题描述】:

我目前正在使用 DatePicker 的控件,我试图在其中限制显示 MinDate 和 Maxdate 的日期。不幸的是,除了年份之外,我找不到任何相关的方法来设置最小和最大天数/月,我什至尝试扩展 Controls 类来设置要在加载 DatePicker 期间显示的日期。是否可以限制用户可以从 UWP 应用程序的日期选择器中选择哪些日期?

谢谢!

【问题讨论】:

    标签: windows xaml datepicker winrt-xaml


    【解决方案1】:

    我假设您正在 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);
    

    【讨论】:

    • CalendarDatePicker 中没有任何名为 MinYear 和 MaxYear 的属性。
    【解决方案2】:

    如果您使用 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 控件,您可以使用与 DatePicker 的 DisplayDateEnd 相同的方式绑定 Maximum Property。

    附言不要忘记在您的 XAML 文件头中添加以下内容:

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

    【讨论】:

      【解决方案3】:

      WPF DatePicker 具有 DisplayDateStartDislayDateEnd 属性;见https://msdn.microsoft.com/en-us/library/system.windows.controls.datepicker.displaydatestart(v=vs.110).aspx

      【讨论】:

      • 问题指winrt-xaml
      猜你喜欢
      • 2017-04-07
      • 1970-01-01
      • 1970-01-01
      • 2014-07-03
      • 1970-01-01
      • 2017-05-24
      • 2018-02-19
      • 1970-01-01
      • 2023-04-07
      相关资源
      最近更新 更多