Используйте «реальный» CultureInfo.CurrentCulture в привязке WPF, а не CultureInfo из IetfLanguageTag

В моем случае:

У меня есть привязка TextBlock к свойству типа DateTime. Я хочу, чтобы он отображался в соответствии с региональными настройками пользователя.


Я устанавливаю свойство Language как WPF XAML Bindings и CurrentCulture Display говорит:

this.Language = XmlLanguage.GetLanguage(CultureInfo.CurrentCulture.IetfLanguageTag);

Но с этой строкой кода он просто отображает текст как формат по умолчанию для CultureInfo с IetfLanguageTag из CurrentCulture говорит, а не как эффективное значение, выбранное в настройках региона системы:

(например, для «de-DE» dd.MM.yyyy используется вместо selected yyyy- MM-dd )

Region settings: not the default but yyy-MM-dd is used

Есть ли способ, которым Binding использует правильный формат без определения ConverterCulture для каждой привязки?

В коде

string.Format("{0:d}",Date);

используются правильные параметры культуры.

edit:

другой способ, который не работает должным образом (например, this.Language = ... работает):

xmlns:glob="clr-namespace:System.Globalization;assembly=mscorlib"

и


37
задан Community 23 May 2017 в 12:10
поделиться