我不知道如何将格式参数添加到下面的DataGrid列中。我需要显示有两个小数点的数字。
我有一个动态添加列的silverlight DataGrid。我创建了列并应用了一个动态绑定(我知道它是有效的)
public static DataGridTextColumn CreateFloatColumn(int index, string fieldName, string header, string description)
{
DataGridTextColumn column = new DataGridTextColumn();
column.Header = header;
column.HeaderStyle = BuildColumnHeaderStyle(description);
Binding newBinding = new Binding("floatValuesList[" + index + "]");
column.Binding = newBinding;
column.CellStyle = BuildCellStyle(fieldName, description);
return column;
}现在我还需要格式化这个值。如何对绑定应用格式设置?此时,我只想显示数字和两个小数点,但我希望它有一点灵活性,让我显示一个可变数量的小数点。
发布于 2011-07-26 23:03:53
我讨厌回答我自己的问题,我认为我在我的原始问题中添加了一个使用值转换器的潜在解决方案的方式是误导的-真的很抱歉。事实证明,解决方案很简单。您可以将格式字符串与绑定一起传递。
column.Binding.StringFormat = "0.00";以下是完整的解决方案
public static DataGridTextColumn CreateFloatColumn(int index, string fieldName, string header, string description)
{
DataGridTextColumn column = new DataGridTextColumn();
column.Header = header;
column.HeaderStyle = BuildColumnHeaderStyle(description);
column.Binding = new Binding("floatValuesList[" + index + "]");
column.Binding.StringFormat = "0.00";
column.CellStyle = BuildFloatCellStyle(fieldName, description);
return column;
}发布于 2011-07-26 12:55:58
你应该能够做到:newBinding.ConverterParameter = "formatString";
https://stackoverflow.com/questions/6823403
复制相似问题