wpf Datagrid货币总是$

时间:2016-12-19 22:36:36

标签: c# wpf xaml datagrid currency

我正在制作快餐收据。一列是价格,我试图将其设置为xaml中的货币 像这样

 <DataGridTextColumn Header="MenuPrice" x:Name="MenuPrice" 
                                        Binding="{Binding MenuPrice, StringFormat=C2}" Width="100" />

在其他地方,我得到欧元符号,但只有在数据网格中,我才能得到美元。如何将其更改为实际遵循用户窗口配置?像其他地方一样。

enter image description here

如果你看到buttom我有一个像这样的总结果的标签

total.toString("c2");

我得到了欧元符号,但没有得到数据网格

2 个答案:

答案 0 :(得分:2)

将DataGrid的Language属性设置为线程的当前文化:

yourDataGrid.Language = System.Windows.Markup.XmlLanguage.GetLanguage(System.Threading.Thread.CurrentThread.CurrentCulture.IetfLanguageTag);

我担心你不能在纯XAML中做到这一点。

答案 1 :(得分:1)

我认为这基本上与this question重复。

chosen answer州:

  

我不确定这是否已在.NET 4中修复,但WPF从未如此   在渲染诸如货币或货币之类的东西时,选择当前文化   日期。

它也提供了解决方案。