1

我在我的 xaml 代码中定义了以下列

<telerik:GridViewMaskedTextBoxColumn Mask="P1" MaskType="Numeric" 
DataMemberBinding="{Binding CurrentAllocationWeight}" 
DisplayIndex="1" IsReadOnly="True" DataFormatString="{}{0:P1}"  
Header="% Of Total" ColumnGroupName="CurrentAllocation"/> 

bound 属性是一个可以为 null 的十进制值。我在代码隐藏中没有其他验证。当我尝试在单元格中输入值时,出现验证错误:“DecimalConverter 无法从 System.Double 转换”。

我应该如何解决这个问题,以便用户可以输入 5.5,它会在单元格中将该值显示为“5.5%”?

哈萨宁

4

1 回答 1

1

解决方案是创建一个双精度到十进制值转换器。在值转换器 ConvertBack 方法中,只需将双精度数转换为小数。

于 2012-07-28T14:52:24.577 回答