将转换器值设置为null

时间:2011-09-13 04:39:33

标签: wpf binding parameters null converter

我有一个与转换器参数绑定的通用函数。当我不需要转换器时我想传入null,但它不会让我说:

Cannot set MultiBinding because MultiValueConverter must be specified.

在函数中分配它之前,检查转换器是否为空,但我想问题是IMultiValueConverter不接受null作为值。

无论如何都可以实现这一点,而无需创建只返回输入的转换器或重载方法?

protected MultiBinding CreateBinding(object source, IMultiValueConverter converter, object parameter, object [] dps)
    {
        MultiBinding multiBinding = new MultiBinding();
        if ( converter != null )
        multiBinding.Converter = converter;
        multiBinding.ConverterParameter = parameter; 
        .....

换句话说,我想使用上面的函数模拟没有转换器的直接属性绑定。

1 个答案:

答案 0 :(得分:0)

只有指定MultiValueConverter或StringFormat来定义如何根据每个源计算输出时,才能使用

MultiBindings。

我不确定你要实现什么,但是如果你指定一个空的StringFormat(string.Empty),你应该没有错误,但它不会在运行时做任何事情。