Вопрос

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

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

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

Любой?

Это было полезно?

Решение

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

Другие советы

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top