【问题标题】:Set MaximumDate in DatePicker to CurrentCulture Property将 DatePicker 中的 MaximumDate 设置为 CurrentCulture 属性
【发布时间】:2014-06-13 04:56:14
【问题描述】:

我有一个 TextBlock,其中显示了一个设置为 CurrentCulture 属性的日期。现在在下面我有一个 DatePicker,我必须在其中禁用所有未来的日期,所以我必须将其最大日期设置为 ProcessingDate。请告诉我该怎么做?提前致谢。

 <TextBlock x:Name="ProcessingDate" FontSize="10" Text="{Binding ProcessingDate, StringFormat={}{0:d}, ConverterCulture={x:Static gl:CultureInfo.CurrentCulture}}"
                               ToolTip="Processing Date"/>

   <my:DatePicker   Name="dpStartDte" SelectedValue="{Binding Path=DataContext.CONTRACT.CONTRACTSTARTDTE, UpdateSourceTrigger=LostFocus}" MaximumDate = 'WHAT TO WRITE' />

【问题讨论】:

    标签: c# wpf date properties datepicker


    【解决方案1】:

    您可以使用DisplayDateEnd 而不是最大数据,这使得指定日期范围之外的任何日期都不会出现。

    XAML:

       <DatePicker DisplayDateStart="12/7/1941" DisplayDateEnd="8/14/1945" />
    

    将此样式添加到您的资源并设置文化,

      <Style TargetType="{x:Type DatePickerTextBox}">
                <Setter Property="Control.Template">
                    <Setter.Value>
                        <ControlTemplate>  
                            <TextBox x:Name="PART_TextBox"
    Text="{Binding Path=SelectedDate, StringFormat='dd MMM yyyy', 
    RelativeSource={RelativeSource AncestorType={x:Type DatePicker}}}" />
                        </ControlTemplate>
                    </Setter.Value>
                </Setter>
            </Style>
    

    【讨论】:

    • 但是如何概括呢?我必须将 DisplayDateEnd 设置为通过 CultureInfo.CurrentCulture 设置的日期
    • CultureInfo ci = new CultureInfo(Thread.CurrentThread.CurrentCulture.Name); dp.DateTimeFormat.ShortDatePattern = "dd/MM/yyyy"; dp.DateTimeFormat.DateSeparator = "/"; Thread.CurrentThread.CurrentCulture = dp;
    • 我正在使用您之前的方法。但它抛出了一个异常。 CONTRACTSTARTDTE 中的值是 9/19/2044 12:00:00 AM。这是代码行:dpStartDte.DisplayDateEnd = Controller.DataContext.CONTRACT.CONTRACTSTARTDTE;
    • 有什么异常
    • 调用线程不能访问这个对象,因为它是另一个线程拥有的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-04
    • 1970-01-01
    • 2023-03-17
    • 2019-07-04
    相关资源
    最近更新 更多