我希望,对于特定参数值,要检查复选框。 我的代码:
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),一切都很完美。我只想将单元格中的值与我给出的参数值进行比较。
答案 0 :(得分:1)
您应该使用true
方法而不是false
和Convert
返回1
或0
,导致IsChecked
的属性CheckBox
1}}的类型为boolean。
此外,当value
或parameter
为空时,您的方法会抛出NullReferenceException
。这也可能导致一些问题。