C# 为WPF DateTimePicker验证设置区域性
我在WPF应用程序上使用DateTimePicker。 我想将.Text属性绑定到SelectedDate,因此我使用如下绑定: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
<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;
}