10

null許容のDateTimeプロパティにバインドされたTextBoxがあります。

私はオーストラリアにいるので、日付をd / mm/yyyy形式で表示したいと思います。

Windows 7ボックスでは、日付をd / mm形式で入力でき、正しく変換されます(たとえば、1/11は11月1日に変換され、13/1は1月13日に変換されます)。

私のWindows8ボックスでは、同じ入力がUS形式であるかのように解釈されるため、1/11は1月11日に変換され、13/1は失敗します(13か月目がないため)。

両方のコンピューターがオーストラリアの形式を使用するように設定されており、Application.StartUpイベントに次のコードがあります。

FrameworkElement.LanguageProperty.OverrideMetadata(GetType(FrameworkElement), New FrameworkPropertyMetadata(XmlLanguage.GetLanguage(CultureInfo.CurrentCulture.IetfLanguageTag)))

BindingのStringFormatはd/MM / yyyyに設定されており、StringFormatがDに設定されている同じプロパティ('Wednesday、 2012年1月11日')。

誰かアイデアはありますか?

更新:さらなる調査(以下のコメントを参照)は、これがWindows8とWindows7で異なるen-AUカルチャの問題であると思われることを明らかにしています。つまり、「1/11」のような日付をmm/dd形式で解釈します。 Windows 8は、Windows 7では、それらをdd / mm形式で解釈します。これは、en-AUカルチャを使用するときに期待することです。

4

2 に答える 2