2012-06-05 25 views
-1

我从来没有使用过wpf数据网格,并试图格式化一些十进制列,以便使用基于该行其他列值的格式的特定值。DataGrid十进制格式转换器

过去使用Infragistics XamDataGrid,我能够为XamCurrencyEditor设置样式,设置“Format”和“Mask”的值,并使用我写的多值转换器,传递DataItem。

网格列以编程方式创建。所以,我创建了一个领域,像这样:

var field = new DataGridTextColumn { Header = item.Name, Binding = new Binding("[" + item.Name + "].Value") { Mode = BindingMode.TwoWay } }; 

此字段将包含十进制值(即使列只是一个文本列)。

如何在此列中添加一些格式来考虑数据对象中的其他值?我不知道如何引用实际绑定的数据行本身,以将数据和单元格值一起传递给转换器。

+0

任何具体理由downvote,所以我下次可以避开它? – Flack

回答

0

不知道如果小数点实在是字符串但是这是XAML语法小数财产

绑定的StringFormat = DecValue它是如何工作的:{0:N2}}

+0

谢谢布莱姆。如果我需要根据行的另一列计算格式(小数位数),你知道它是如何工作的吗? – Flack

+0

你需要一个多值转换器。 http://msdn.microsoft.com/en-us/library/system.windows.data.multibinding.converter.aspx – Paparazzi

+0

嘿布莱姆。我了解多值转换器。事情是我不知道该怎么实际绑定,即。如何访问数据网格中的绑定数据行。 – Flack