C# 为WPF DateTimePicker验证设置区域性

C# 为WPF DateTimePicker验证设置区域性,c#,wpf,xaml,binding,cultureinfo,C#,Wpf,Xaml,Binding,Cultureinfo,我在WPF应用程序上使用DateTimePicker。 我想将.Text属性绑定到SelectedDate,因此我使用如下绑定: <DatePicker x:Name="DateTimePicker_Date" Text="{Binding dDate, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged, TargetNullVal

我在WPF应用程序上使用DateTimePicker。 我想将.Text属性绑定到SelectedDate,因此我使用如下绑定:

<DatePicker x:Name="DateTimePicker_Date"
              Text="{Binding dDate, Mode=TwoWay,
                     UpdateSourceTrigger=PropertyChanged,
                     TargetNullValue='',
                     ValidatesOnDataErrors=True}"
              TabIndex="3"
              Grid.Column="1" />

我的问题是我使用的是欧洲文化,因此:日/月/年而不是月/日/年,因此如果我输入:
14/02/2013
,我有一个验证错误

我怎样才能解决这个问题

已解决:

只需添加一个:

this.Language = XmlLanguage.GetLanguage("fr-FR");

在windows的代码隐藏中:)

非常流行的主题。我一直在寻找答案,我想我的决定会适合你。 创建窗口时,所有控件均采用系统中的默认区域性。 您可以更改属性SelectedDate=“{Binding MyDate,StringFormat=“…”}”SelectedDateFormat=“Short” 可能会向您显示所需的某种格式,但它不适用于手动编辑输入。 为此,需要在类初始化开始时设置区域性

public MyWPFWindow()
    {
        InitializeComponent();        
        /// <summary>
        /// Change ShortDate on Culture for this <see cref="MyWPFWindow"/>
        /// </summary>
        CultureInfo cd = CultureInfo.CreateSpecificCulture(CultureInfo.CurrentCulture.Name);
        cd.DateTimeFormat.ShortDatePattern = "dd/MM/yyyy";
        Thread.CurrentThread.CurrentCulture = cd;
    }
public MyWPFWindow()
{
初始化组件();
/// 
///为此更改区域性的ShortDate
/// 
CultureInfo cd=CultureInfo.CreateSpecificCulture(CultureInfo.CurrentCulture.Name);
cd.DateTimeFormat.ShortDatePattern=“dd/MM/yyyy”;
Thread.CurrentThread.CurrentCulture=cd;
}