Pregunta

He creado una clase de convertidor WPF:

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

Me pregunto quién establece el parámetro de cultura que se pasa. Esperaría que fuera igual a la configuración actual de Windows, pero parece ser diferente.

¿Alguien?

¿Fue útil?

Solución

Esta página describe un error (¿característica?) de WPF donde la cultura siempre estará en EE. UU. a menos que tome medidas para especificar lo contrario y cómo solucionarlo.

Otros consejos

En realidad, utilizando la técnica descrita en esa página es una mala idea: no tiene en cuenta ninguna personalización que el usuario haya realizado en su configuración de formato en el Panel de control.

En cambio, simplemente ignore el parámetro de cultura pasado al convertidor por completo; si necesita pasar una cultura a otra cosa, use CultureInfo.CurrentCulture. (Dado que este es el valor predeterminado para Parse y ToString, por lo general no es necesario que lo pase de todos modos).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top