DataGrid(WPF) - 货币和百分比列

时间:2011-03-04 21:01:07

标签: wpf datagrid wpfdatagrid

我将首先说我是WPF的新手。我正在尝试学习和诊断现有的应用程序,我有一个问题,我希望有人可以回答。

我注意到当用户输入一个百分比时,它要求用户输入一个十进制值(这是有意义的),但它会显示为百分比,就像用户输入.50一样,它在单元格中显示为“ 50%“(当然离开牢房后)。它的行为方式对我来说很明显,因为格式设置为“{0:P}”。

我想允许用户输入“50%”,所以我创建了一个转换器(例如将“50%”转换为.5并且效果很好)。

令我困惑的是为什么货币字段不需要转换器(Format =“{0:C}”)?我很惊讶DataGrid允许用户输入美元符号,逗号等,然后将它们转换为十进制(SQL中的钱类型)。

是否有一些自动化的东西继续使用货币格式(或者我刚刚在代码中找不到的其他一些属性)或者是否有某个我尚未发现的转换器?

这是如何工作的,如果它是一些自动化的东西,为什么百分比不会以类似的方式自动处理?

1 个答案:

答案 0 :(得分:0)

我刚刚遇到过这个问题。由于没有人在9个月内提供答案,我将尽我所能。似乎有一个内置的货币转换器(see this answer),我怀疑某种货币的FormatString在幕后使用这个内置转换器。内置的ZoomPercentageConverter似乎没有做到需要,所以我猜P StringFormat只是笨蛋,太糟糕了。