Конвертеры WPF: откуда берется культура - PullRequest
7 голосов
/ 29 апреля 2009

Я создал класс конвертера WPF:

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

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

Любой

Ответы [ 2 ]

9 голосов
/ 29 апреля 2009

На этой странице описывается ошибка (функция?) В WPF, когда культура всегда будет в США, если вы не примете меры, чтобы указать иное и как это исправить.

4 голосов
/ 26 февраля 2010

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

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

...