Convertidores WPF: de dónde viene la cultura
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?
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).