Da the fine manual:
vedere la proprietà CultureInfo.CurrentCulture
per imparare la cultura di default di un thread è determinato, e in che modo agli utenti di impostare le informazioni cultura per i loro computer.
One laborious click later...
come la cultura di un thread viene determinato
Quando viene avviato un filo, la sua cultura è inizialmente determinato come segue:
Recuperando la cultura che è specificato dalla proprietà DefaultThreadCurrentCulture
nel dominio dell'applicazione in cui è in esecuzione il thread, se la proprietà va lue non è null
.
Chiamando la funzione Windows GetUserDefaultLocaleName
.
Si noti che se si imposta una cultura specifica che è diverso dalla cultura installato sistema o di cultura preferito dell'utente, e l'applicazione si avvia più thread, l'attuale cultura di quei fili sarà la cultura che viene restituito con la funzione GetUserDefaultLocaleName
, a meno che non si assegni una cultura alla proprietà DefaultThreadCurrentCulture
nel dominio dell'applicazione in cui il thread è in esecuzione.
Per ulteriori informazioni su come viene determinata la cultura di un thread, vedere la sezione "Cultura e discussioni" nell'argomento CultureInfo
.
I didn't budget for another click, but clicked anyway.
cultura e Filati
Quando viene avviato un nuovo thread dell'applicazione, la cultura attuale e lingua dell'interfaccia utente corrente sono definiti dalla cultura sistema attuale, e non dalla cultura thread corrente. Il seguente esempio illustra la differenza. Imposta la cultura corrente e la cultura corrente dell'interfaccia utente di un thread dell'applicazione nella cultura francese (Francia) (fr-FR). Se la cultura corrente è già fr-FR, l'esempio la imposta sulla cultura inglese (Stati Uniti) (en-US). Visualizza tre numeri casuali come valori di valuta e quindi crea un nuovo thread, che, a sua volta, visualizza altri tre numeri casuali come valori di valuta. Tuttavia, come mostra l'output dell'esempio, i valori di valuta visualizzati dal nuovo thread non riflettono le convenzioni di formattazione della cultura francese (Francia), diversamente dall'output dal thread dell'applicazione principale.
Nota che si dice quando un nuovo thread applicazione viene avviata. Quindi, dato che tu dici:
Non è da informazioni di cultura di Windows perché ho cambiato da en-US a en-GB senza notare alcuna modifica nell'applicazione durante l'esecuzione.
Si consiglia di rivedere this answer.
un'occhiata qui http://stackoverflow.com/questions/2764615/wpf-stringformat-0c-showing-as-dollars questo dovrebbe risolvere il tuo problema –