2009-04-29 11 views
5

Ho creato una classe convertitore WPF:WPF convertitori: da dove viene la cultura provengono da

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

Mi chiedo chi imposta il parametro di cultura che viene passato. Mi aspetto che sia uguale alle impostazioni attuali di Windows, ma sembra essere diverso.

Chiunque?

risposta

7

This page descrive un bug (funzione?) Di WPF in cui la cultura sarà sempre en-US a meno che non si intervenga per specificare diversamente e come risolverlo.

+0

Grazie! Era esattamente dove stavo cercando –

3

In realtà, l'utilizzo della tecnica descritta in that page non è una buona idea: non tiene conto delle personalizzazioni che l'utente ha apportato alle proprie impostazioni di formattazione nel Pannello di controllo.

Invece, basta ignorare completamente il parametro cultura passato al convertitore; se hai bisogno di passare una cultura a qualcos'altro, usa CultureInfo.CurrentCulture. (Poiché questo è l'impostazione predefinita per Parse e ToString, in genere non è necessario passarlo comunque.)

Problemi correlati