XAML中的StringFormat,WPF:货币格式化

6

如何根据我的国家(例如印度卢比,INR或Rs)获得货币格式?

请告诉我实现这一点的方法? 当我使用StringFormat="{}{0:C}"时,目前正在使用"$"。

我已经阅读了链接,并且能够实现所需的结果,但我担心在我的项目中使用此代码。 这段代码安全吗?

在上面的链接中,这行代码是什么意思“当您测试与设置更改相关的功能时,重要的是您直接从文件夹窗口启动程序,如果您从Visual Studio或任何其他程序运行它,则可能会获得不正确的结果。”


1
据我所知,你提供的代码是完全安全的。 - Jens
1
我使用你喜欢的代码从未出现过任何错误的结果。 - Mark
实际上,我已经写了很多代码,只剩下StringFormat这一部分了。 我担心的原因是在那个链接中它说:“您需要再次更新所有绑定,并且还有一些其他警告。” 我有很多绑定,所以我不能再重新编写了。 如果我使用那段代码,你们确定没有其他需要做的事情吗? - Pankaj Upadhyay
2个回答

20

您可以像这样在绑定中指定区域设置:

TextBlock Text="{Binding Value, StringFormat=C, ConverterCulture=nl-BE}" 

nl-BE 是比利时的文化,你可以用印度的文化信息来替换它,我不知道那个。


这是一个很好的解决方案。将在此方案和上面提到的方案之间进行选择。 - Pankaj Upadhyay

3

或者您可以将当前线程设置为正确的文化,这样您就可以在应用程序的任何地方使用它:

Thread.CurrentThread.CurrentUICulture = new CultureInfo("hi-IN");

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接