C# 将DatePicker中的MaximumDate设置为CurrentCulture属性
我有一个文本块,其中显示的日期设置为CurrentCulture属性。现在,我有一个日期选择器,在其中我必须禁用所有未来的日期,所以我必须将其最大日期设置为ProcessingDate。请告诉我怎么做?提前谢谢C# 将DatePicker中的MaximumDate设置为CurrentCulture属性,c#,wpf,date,properties,datepicker,C#,Wpf,Date,Properties,Datepicker,我有一个文本块,其中显示的日期设置为CurrentCulture属性。现在,我有一个日期选择器,在其中我必须禁用所有未来的日期,所以我必须将其最大日期设置为ProcessingDate。请告诉我怎么做?提前谢谢 <TextBlock x:Name="ProcessingDate" FontSize="10" Text="{Binding ProcessingDate, StringFormat={}{0:d}, ConverterCulture={x:Static gl:CultureI
<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' />
您可以使用它来代替最大数据,使指定日期范围之外的任何日期都不会出现 XAML: 将此样式添加到资源中并设置区域性
<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.CurrentCultureCultureInfo ci=new CultureInfo.CurrentThread.CurrentCulture.Name设置的日期;dp.DateTimeFormat.ShortDatePattern=dd/MM/yyyy;dp.DateTimeFormat.DateSeparator=/;Thread.CurrentThread.CurrentCulture=dp;我正在使用你先前的方法。但它抛出了一个例外。合同生效日期为2044年9月19日12:00:00。这是一行代码:dpStartDte.DisplayDateEnd=Controller.DataContext.CONTRACT.ContractStartde;有什么例外调用线程无法访问此对象,因为其他线程拥有它。
<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>