为复选框列创建转换器

时间:2013-11-28 09:05:47

标签: c# wpf binding converter

我希望,对于特定参数值,要检查复选框。 我的代码:

 public class CheckConverter : IValueConverter
{

    public object Convert(object  value, Type targetType, object parameter, CultureInfo culture)
    {
        string passedvalue = value.ToString();
        string parametervalue = parameter.ToString();
        if (passedvalue == parametervalue)
            return 1;
        else
            return 0;

    }

    public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
    {
        throw new NotImplementedException();
    }

}

我是如何设置的:

checkcolumn.Binding = new Binding() { Converter = new CheckConverter() , ConverterParameter="aaa" };

不幸的是,在我的转换器类中,if语句始终为false。我不明白为什么。如果我有if(1 == 1),一切都很完美。我只想将单元格中的值与我给出的参数值进行比较。

1 个答案:

答案 0 :(得分:1)

您应该使用true方法而不是falseConvert返回10,导致IsChecked的属性CheckBox 1}}的类型为boolean。

此外,当valueparameter为空时,您的方法会抛出NullReferenceException。这也可能导致一些问题。