Конвертеры WPF: откуда взялась культура

Я создал класс преобразователя WPF:

public class DoubleConverter : IValueConverter
{
    public object Convert(object value, Type TargetType, object parameter, CultureInfo culture)
    {
        //blah blah
    }
}

Интересно, кто устанавливает передаваемый параметр культуры. Я ожидаю, что он будет таким же, как текущие настройки Windows, но, похоже, он отличается.

Кто угодно?


person Robbert Dam    schedule 29.04.2009    source источник


Ответы (2)


Эта страница описывает ошибка (функция?) WPF, где культура всегда будет en-US, если вы не предпримете никаких действий, чтобы указать иначе и как это исправить.

person Martin Harris    schedule 29.04.2009

На самом деле, используя технику, описанную на эта страница — плохая идея — она не принимает во внимание любые настройки, сделанные пользователем в настройках форматирования в Панели управления.

Вместо этого просто полностью игнорируйте параметр культуры, переданный преобразователю; если вам нужно передать культуру чему-то другому, используйте CultureInfo.CurrentCulture. (Поскольку это значение по умолчанию для Parse и ToString, вам обычно не нужно его передавать.)

person Miral    schedule 25.02.2010