gpt4 book ai didi

wpf - 为什么这种多重绑定(bind)不起作用

转载 作者:行者123 更新时间:2023-12-04 08:28:54 25 4
gpt4 key购买 nike

我从我的复选框命令发送了多个参数。我用过转换器。代码如下。如果我放一个调试器并看到这里的值是我的结果:

当复选框检查被选中或未选中时:

在转换器中,它具有值(项目对象和 bool 值的数组)。但是当我谈到我的方法时,该值是一个对象 [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 class CheckConverter : IMultiValueConverter
{
public object Convert(object[] values, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
return values;
}

public object[] ConvertBack(object value, Type[] targetTypes, object parameter, System.Globalization.CultureInfo culture)
{
throw new NotImplementedException();
}
}

查看模型命令代码:
public ICommand SelectUnSelect
{
get { return new RelayCommand<object>(parm => this.SelectAndUnSelect(parm));}
}

如果我在 SelectAndUnSelect 方法中放置一个调试器,它会在 parm 中显示 object[2] 但它们都是空的。

观察:如果我将我的命令参数绑定(bind)到任何一个绑定(bind),它工作正常。

我在这里想念什么?
  • 尚卡尔
  • 最佳答案

    我之前也遇到过同样的问题,如果我没记错然后返回 values.ToList()而不仅仅是 values应该修复它

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

    关于wpf - 为什么这种多重绑定(bind)不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7617375/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com