App.xaml.cs には次のものがあります。
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;
MainWindow から開く別のウィンドウで、次のように記述しました。
<TextBox Text="{Binding Total, StringFormat=c}"
しかし、結果は $1,200.00 のようなもので、私が予想していたものではありません: USD1,200. ここで何が問題なのですか?