【发布时间】:2014-08-12 10:47:16
【问题描述】:
我的 WPF MVVM 应用程序中有以下场景。有一个 ListView 绑定到 ViewModel 上的集合 (Orders)。对于集合中的每个对象,都会显示有关该项目的一行数据。
还有一个单元格本身绑定到另一个 ViewModel 集合 (SelectedDates),它为 SelectedDates 集合中的每个项目创建一个复选框。
当用户点击复选框时,需要激活一个命令。该命令的参数必须是相应 Order 和 SelectedDate 对象的 ID。
现在,我知道我可以使用 MultiBinding 和转换器来实现这一点。让我感兴趣的是,在研究这一点时,似乎普遍认为将一个或两个参数作为 ViewModel 属性并避免将它们作为参数传递会更好。
但是,我不知道在这种特定场景中(或者,实际上,在许多场景中,您正在处理绑定到 ViewModel 集合的 ListView 中生成的命令)如何实现这一点。
所以问题是 - 是否可以完全或部分使用 ViewModel 属性,或者在这种情况下 MultiBinding 是完成工作的唯一方法?
【问题讨论】: