在IMultiValueConverter

时间:2018-04-27 02:15:47

标签: c# wpf imultivalueconverter

我有一个实现IMultiValueConverter的对象。它用于根据特定bool值和特定枚举值的特定排列来绑定列的可见性,这两者都是绑定数据的一部分。 ConvertBack方法显然没有任何意义。

在常规IValueConverter上,我可以返回Binding.DoNothing,但这不是object[],因此无法编译。

我目前抛出异常,但这并不理想。还有更好的方法吗?

2 个答案:

答案 0 :(得分:2)

"正确"实现IValueConverter或IMultiValueConverter的ConvertBack的方法是抛出NotSupportedException(而不是NotImplementedException)。

返回Binding.DoNothing毫无意义,因为无论如何都不应该调用该方法。但如果它被意外调用,你会得到一个异常,告诉你出了什么问题。

public object[] ConvertBack(
    object value, Type[] targetTypes, object parameter, CultureInfo culture)
{
    throw new NotSupportedException();
}

答案 1 :(得分:0)

返回null

对于IMultiValueConverterConvertBack文档特别指出:

返回null表示转换器无法执行 转换,或者它不支持此方向的转换。