Wpf 为什么多重绑定不起作用

Wpf 为什么多重绑定不起作用,wpf,wpf-controls,Wpf,Wpf Controls,我已经从我的Checkbox命令发送了多个参数。我用过转换器。代码如下。如果我放置了一个调试器,并在此处看到值,则显示我的结果: 选中或取消选中复选框时: 在转换器中,它有个值(项对象数组和布尔值)。但在我的方法中,值是一个对象[2],但两个值都为NULL 复选框XAML <CheckBox x:Name="checkBox" Content="{Binding RelativeSource={RelativeSource TemplatedParent},

我已经从我的Checkbox命令发送了多个参数。我用过转换器。代码如下。如果我放置了一个调试器,并在此处看到值,则显示我的结果:

选中或取消选中复选框时:

在转换器中,它有个值(项对象数组和布尔值)。但在我的方法中,值是一个对象[2],但两个值都为NULL

复选框XAML

 <CheckBox x:Name="checkBox" 
              Content="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=Content.Data.Label}"   
              ClickMode="Release"
              Command="{Binding Path=DataContext.SelectUnSelect}">
        <CheckBox.CommandParameter>
            <MultiBinding Converter="{StaticResource SelectedItemConverter}">
                <Binding RelativeSource="{RelativeSource TemplatedParent}" Path="Content.Data"/>
                <Binding RelativeSource="{RelativeSource Self}" Path="IsChecked"/>
            </MultiBinding>
        </CheckBox.CommandParameter>

查看模型命令代码:

public ICommand SelectUnSelect
    {
        get { return new RelayCommand<object>(parm => this.SelectAndUnSelect(parm));}
    }
public图标命令,然后选择取消选择
{
获取{returnnewrelaycommand(parm=>this.SelectAndUnSelect(parm));}
}
如果我在SelectAndUnSelect方法中放置了一个调试器,它会在parm中显示对象[2],但它们都为null

观察:如果我将命令参数绑定到任何一个绑定,它都可以正常工作

我错过了什么

  • 尚卡尔

我以前也遇到过同样的问题,如果我没记错的话,然后返回
值。ToList()
而不仅仅是
应该可以解决它

public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
{
    return values.ToList();
}

对我也有用。我想知道为什么它只以这种方式工作,而不是通过返回对象数组。
public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
{
    return values.ToList();
}