将DatePicker中的MaximumDate设置为CurrentCulture属性

时间:2014-06-13 04:56:15

标签: c# wpf date properties datepicker

我有一个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' />

1 个答案:

答案 0 :(得分:0)

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

<强> XAML:

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

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

  <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>