【问题标题】:wpf Datagrid currency is alway $ [duplicate]wpf Datagrid货币总是$ [重复]
【发布时间】:2017-05-05 01:36:19
【问题描述】:

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

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

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

如果你在底部看到我有一个标签,它是这样的总结果

total.toString("c2");

我得到了欧元符号,但在 datagrid 中没有

【问题讨论】:

  • 在 DataGridTextColumn 中使用:Binding="{Binding Path=PrezzoListino, ConverterCulture='it-IT', StringFormat='\{0:€ #,##0.00\}'}"。示例是要绑定到意大利文化、欧元货币和“PrezzoListino”字段。

标签: c# wpf xaml datagrid currency


【解决方案1】:

我相信这基本上是this question的复制品。

chosen answer 声明:

我不确定这是否已在 .NET 4 中修复,但 WPF 从未 在渲染货币或 日期。

它也给出了一个解决方案。

【讨论】:

  • @phi1010 还指出了一个非常相似的different question,如果您想进一步阅读。
【解决方案2】:

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

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

恐怕你不能在纯 XAML 中做到这一点。

【讨论】:

    猜你喜欢
    • 2011-07-09
    • 1970-01-01
    • 2020-03-09
    • 2019-03-09
    • 2022-11-26
    • 1970-01-01
    • 1970-01-01
    • 2019-12-28
    • 2017-09-22
    相关资源
    最近更新 更多