DataGrid上的动态转换器参数

时间:2012-04-27 13:56:15

标签: mvvm silverlight-5.0

我有一个DataGrid,其中一些列显示双值。我使用转换器来格式化这个值,因为它需要一些计算。 格式如下: 如果值为1,200则显示1,2K 如果值为1,200,000,则显示1,2M 如果值为1,200,000,000,则显示1,2B

有一个复选框,其中包含启用/禁用格式的选项,因此我需要将复选框的状态作为参数传递给转换器。

我试图绑定ConverterParameter,但在Silverlight 5中无法实现。

我怎样才能做到这一点?

我正在使用Silverlight 5和MVVM(没有像Prism或MVVMLight这样的任何框架)。

1 个答案:

答案 0 :(得分:0)

我会这样做:

  1. 使用简单的可见性转换器来控制可见性,即visibleifFormatIsRegular,visibleifFormatIsNotRegular
  2. 两个值转换器,用于转换您需要显示值的每种格式的值
  3. 下面提到的格式的两个文本块只有转换器名称更改

    textblock 1 ==> Text = {Binding propertyvalue,Converter {staticresource YourIvalueConverterforactualFormatConversion}} Visibility = {Binding checkboxtoggledProperty,converter {visibilityConverter}}

  4. 希望这有帮助!