Pergunta

Eu criei uma classe de conversor WPF:

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

Eu quero saber quem define o parâmetro cultura que é passado. Eu esperaria que ele seja o mesmo que as configurações atuais do Windows, mas parece ser diferente.

Qualquer um?

Foi útil?

Solução

Esta página descreve um (recurso?) bug de WPF onde a cultura será sempre en-US se você não agir para especificar o contrário e como corrigi-lo.

Outras dicas

Na verdade, usando a técnica descrita em essa página é uma má idéia -. ele não leva em conta quaisquer personalizações que o usuário fez às suas configurações de formatação no painel de controle

Em vez disso, simplesmente ignorar o parâmetro de cultura passado para o conversor inteiramente; se você precisa passar uma cultura para outra coisa, utilize CultureInfo.CurrentCulture. (Uma vez que este é o padrão para analisar e ToString, você geralmente não precisa passá-lo de qualquer maneira.)

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top