为什么这个多重绑定不起作用

2023-11-27

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

当复选框检查被选中或取消选中时:

在转换器中,它具有值(项目对象和布尔值的数组)。但是当我使用我的方法时,该值是一个对象[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],但它们都是 null。

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

我在这里缺少什么?

  • Shankar

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

public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
{
    return values.ToList();
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么这个多重绑定不起作用 的相关文章

随机推荐

  • MySQL 将 DATE 字符串与 DATETIME 字段中的字符串进行比较

    我有一个问题 是否可以通过将一个 DATE 字符串 2010 04 29 与存储为 DATETIME 2010 04 29 10 00 的字符串进行比较来从 MySQL 数据库中进行选择 我有一个可以过滤数据的日期选择器 我想通过 DATE
  • 如何对csv表中的数据进行行到列转置?

    我是脚本新手 我有一张桌子 Table1 txt 并且我需要创建另一个表 其中 Table1 的行按列排列 反之亦然 我已经找到了 Perl 和 SQL 的这个问题的解决方案 但没有找到 Python 的解决方案 我两天前刚刚开始学习Pyt
  • Java nio FileSystem Watcher 锁定目录。删除变得不可能[重复]

    这个问题在这里已经有答案了 我正在使用 Java7 的新功能来监视目录的更改 如以下教程中所述 http download oracle com javase tutorial essential io notification html
  • 模态引导随着更改事件流星消失

    我使用带有 bootstrap 的模态 所以我有一个带有 3 个选项卡的模态 在此选项卡之一中 我有一个如下选择 div class modal body ul class nav nav tabs li a href onglet1 Li
  • C - 在 Mac OSX Lion 上编译时架构 x86_64 的未定义符号

    我在 Mac OSX Lion 上编译一个非常非常简单的 name c 文件时遇到一些问题 现在 我开始在 cs50 net 上学习哈佛 CS50 课程 我对编程并不是完全陌生 但我很好奇这门课程是如何教授的 这是name c的来源 inc
  • 如何获取 iPhone 中音频文件的详细信息

    我使用 AVAudioPlayer 制作了自定义播放器 现在 我想获取添加在资源文件夹中的音频文件的详细信息 例如艺术家姓名 专辑名称等 MPMusicPlayer 提供了用于获取详细信息的 API 但它使用 iPod 库并且不从应用程序的
  • 我应该为 XML 站点地图发送什么 Content-Type 值?

    我以为我应该发送 text xml 但后来我读到我应该发送 application xml 有关系吗 有人可以解释其中的区别吗 The 之间的区别text xml and 应用程序 xml是默认的字符编码 如果charset省略参数 当字符
  • RX:序列的状态转换,例如指数移动平均线

    如何在 RX 中对序列进行简单 有状态的转换 假设我们想要对 IObservable 噪声序列进行指数移动平均变换 每当noisySequence勾选时 emaSequence应该勾选并返回值 前一个EmaSequenceValue 1 l
  • spring-data JPA:手动提交事务并重新启动新事务

    我有一个导入数据的方法 如果导入很大 则无法在单个事务中运行 并且由于巨大的事务语句缓存而可能导致 OutOfMemoryError 我想要的是在语句缓存中的n条记录之后手动提交 我怎样才能实现这个目标 最好在 Transactional
  • 自动装箱和拆箱在 Java 和 C# 中的行为是否不同

    我正在手动将代码从 Java 1 6 转换为 C 并发现基元 int 和 double 的行为存在一些困难 在 C 中 似乎几乎所有转换都会自动发生 List
  • 两个日期相减得到时间增量

    我正在尝试从我的数据库值之一获取一个值 该值将通过从今天的日期减去购买日期来给出 我这样写了我的代码 delta datetime now item purchase date 但这给了我这个错误 unsupported operand t
  • 使用 dask.delayed 和 pandas.DataFrame 将字典的 dask.bag 转换为 dask.dataframe

    我正在努力转换dask bag的字典到dask delayed pandas DataFrames进入决赛dask dataframe 我有一个函数 make dict 将文件读入相当复杂的嵌套字典结构 另一个函数 make df 将这些字
  • 第二次迭代文件不起作用[重复]

    这个问题在这里已经有答案了 我在迭代文件时遇到问题 这是我在解释器上输入的内容和结果 gt gt gt f open baby1990 html rU gt gt gt for line in f readlines print line
  • 如何在 Rust 中连接静态切片?

    我有两个静态切片u8我会实现一个函数来连接它们 类似的东西 fn concat u8 first static u8 second static u8 gt static u8 first second concat 编译器向我显示错误re
  • /usr/bin/rename:参数列表太长(批量重命名文件)

    我试图通过截断文件名中出现第一个空格的文件来批量重命名某些文件 我编写了一个简单的脚本来通过重命名来执行此操作 for i in fa do rename s s fa done 这在测试中效果很好 并根据需要产生以下结果 testenv
  • 如何在 VBA 中使用 FileSystemObject?

    有什么我需要参考的吗 我该如何使用这个 Dim fso As New FileSystemObject Dim fld As Folder Dim ts As TextStream 我收到错误 因为它无法识别这些对象 在 Excel 中 您
  • 无法实例化邮件功能。为什么会出现这个错误

    当我尝试通过 PHPMailer 发送邮件时 收到此错误消息 我的代码如下
  • MySQLi 中的 SELECT * FROM

    我的网站相当广泛 而且我最近刚刚切换到 PHP5 请称我为大器晚成者 我之前的所有 MySQL 查询都是这样构建的 SELECT FROM tablename WHERE field1 value field2 value2 这使得一切变得
  • 在两个圆之间画一个箭头?

    如何在两个圆之间绘制箭头线 给定 圆心的位置 圆的半径 我在用line and markersvg 对象 If I draw the arrows to the center of the circle then the arrow is
  • 为什么这个多重绑定不起作用

    我从我的复选框命令发送了多个参数 我用过转换器 代码如下 如果我放置一个调试器并看到这里的值就是我的结果 当复选框检查被选中或取消选中时 在转换器中 它具有值 项目对象和布尔值的数组 但是当我使用我的方法时 该值是一个对象 2 但两个值都是