在App.xaml.cs我:WPF,改變當前文化的NumberFormatInfo不起作用
Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US");
Thread.CurrentThread.CurrentUICulture = new CultureInfo("en-US");
FrameworkElement.LanguageProperty.OverrideMetadata(typeof(FrameworkElement),
new FrameworkPropertyMetadata(XmlLanguage.GetLanguage(
CultureInfo.CurrentCulture.IetfLanguageTag)));
在我MainWindow.xaml.cs我:
NumberFormatInfo nfi = System.Threading.Thread.CurrentThread
.CurrentCulture.NumberFormat;
nfi.CurrencySymbol = "USD";
nfi.CurrencyDecimalSeparator = ".";
nfi.CurrencyDecimalDigits = 0;
NumberFormatInfo nfi = System.Threading.Thread.CurrentThread
.CurrentUICulture.NumberFormat;
nfi.CurrencySymbol = "USD";
nfi.CurrencyDecimalSeparator = ".";
nfi.CurrencyDecimalDigits = 0;
現在在不同的窗口,這將在主窗口中打開,我寫了下面:
<TextBox Text="{Binding Total, StringFormat=c}"
但結果是一樣的東西$ 1,200.00,不是我預計:1,200美元。這裏有什麼問題?
您的代碼可以工作,但我想要實現動態是打開一個特定的文化數據庫時更改的NumberFormat。您的代碼需要重新啓動應用程序。 – synergetic 2013-04-12 00:33:34