Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/274.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ListView将数字显示为货币_C#_Wpf - Fatal编程技术网

C# ListView将数字显示为货币

C# ListView将数字显示为货币,c#,wpf,C#,Wpf,我的ListView有问题。我希望将值显示为货币,即 £150.02 相反,我得到了 £$150.02 这是我的密码: <GridViewColumn Header="Value" Width="80" DisplayMemberBinding="{Binding value, StringFormat=£{0:C}}" /> 您需要更改控件的语言 this.Language = XmlLanguage.GetLanguage(Thread.CurrentThread.Curr

我的ListView有问题。我希望将值显示为货币,即

£150.02
相反,我得到了

£$150.02
这是我的密码:

<GridViewColumn Header="Value" Width="80" DisplayMemberBinding="{Binding value, StringFormat=£{0:C}}" />

您需要更改控件的语言

this.Language = XmlLanguage.GetLanguage(Thread.CurrentThread.CurrentCulture.Name);
你有额外的钱把它拿走

<GridViewColumn Header="Value" Width="80" DisplayMemberBinding="{Binding value, StringFormat={}{0:C}}" />

只需删除
C
即可:

DisplayMemberBinding="{Binding value, StringFormat=£{0}}"

C
-输出特定于语言环境的货币(在您的例子中,这似乎是
$
),并按原样输出英镑符号。两个选项:更改区域设置(?)或手动输出(例如,将货币值输出为
十进制
,并带有所需前缀)。这是VS2015中的选项吗?我在VS2013中编写的其他项目在运行时显示数据should@ati这自.NET 1.0以来没有发生任何变化。它显示没有数据(空字段)@arti。。。不要删除
0
只需删除
C
。它应该有用!这不是一个解决方案,而是一个解决方案。正确的解决方案是让货币符号根据当前文化自动提取,这是一个解决方案,特别是我的应用程序将在捷克共和国使用,他们必须将其视为英镑而不是他们的货币。一切取决于你想做什么achieve@arti:您可以按照clemens的建议将区域性显式设置为en Gb。XAML解析器不会将前面的大括号识别为格式字符串的开头。写
StringFormat={}{0:C}
来绕过这个问题。@arti:首先,它与VS2015无关。
XmlLanguage.GetLanguage(Thread.CurrentThread.CurrentCulture.Name)
使用当前区域性。如果您的系统在美国,它会显示一个
$
,在英国,它会显示一个英镑符号。我的是德语,给我看了一个
符号。它不仅是符号,而且是正确的格式,比如
100,00€
,而不是
$100.00
。更多细节。那个么你们如何解释这个事实呢?我的系统设置为UK,显示$?不知道。您可以通过
Language=xmlanguage.GetLanguage(“en-GB”)