d/mm biçiminde girme Null bir DateTime özelliğine bağlı bir TextBox var.Metin kutusuna
Avustralya'dayım, bu nedenle d/mm/yyyy biçiminde sunulmuş tarihler istiyorum. Benim Windows 7 kutusunda
, ben d/aa biçimde tarih girebilir ve doğru dönüştürülmediği(örn. 11/01 1 Kasım dönüşür, 13/1 13 Ocak vs. dönüşür) Windows 8 kutucuğumda, aynı girdi ABD biçimindeymiş gibi yorumlanır, böylece 1/11 11 Ocak'a ve 13/1 başarısız olur (13. ay olmadığı için).
Her iki bilgisayar Avustralyalı biçimlerini kullanmak üzere ayarlanmış ve ben Application.StartUp olayı bu kodu sahiptir:
en Bağlama StringFormat d ayarlanırFrameworkElement.LanguageProperty.OverrideMetadata(GetType(FrameworkElement), New FrameworkPropertyMetadata(XmlLanguage.GetLanguage(CultureInfo.CurrentCulture.IetfLanguageTag)))
/AA/yyyy, ve ben kontrol ettik bunun bir TextBlock'u StringFormat'ı D'ye (aynı tarihte 'Çarşamba, 11 Ocak, 2012' gibi değerler veren uzun tarih formatı] olan aynı özelliğe bağlayarak da doğru olması.
Herhangi bir fikri olan var mı?
Güncelleme: fazla araştırma (aşağıdaki yorumlara bakınız) ortaya bu en-AU kültürü o 1/11 'gibi tarihleri yorumladığı demektir Windows 7 ile kıyaslandığında Windows 8'de farklı olmak bir sorun gibi görünüyor Windows 7'de mm/dd formatında iken, Windows 7'de, bunları en-AU kültürünü kullanırken beklediğim dd/mm biçiminde yorumlar.
Denediğim diğer şeyler: Ana pencerede 'xml: lang =" en-AU "' ayarı, Bağlama üzerinde 'ConverterCulture = en-AU' ayarı. Ne işe yaramadı ... (Bağlayıcı üzerinde bir dönüştürücü yok, ama yine de denediğimi düşündüm) – Charles
'DateTime.Parse (" 1/11 ", CultureInfo.GetCultureInfo (" en-AU ")). Ay 'Windows 7 üzerinde 11 verir, ancak Windows 8 1 - Bu bir WPF bug artık değil ... – Charles
Eğer kullanıcı fr? – Paparazzi