Конвертеры WPF:откуда взялась культура
Вопрос
Я создал класс конвертера 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, вам обычно не нужно его передавать.)