【发布时间】:2021-03-24 19:36:26
【问题描述】:
我的 xaml 文件中有以下多重绑定:
<MyControl:CommandParameter>
<MultiBinding Converter="{commonConverters:MultiBindingConverter}">
<Binding Path="CurrentItem.Id" />
<Binding Path="SelectedItem.Count" />
</MultiBinding>
</Mycontrol:CommandParameter>
如何在我的视图模型中定义这种多重绑定? 或者,当这不可能时,如何在我的视图模型中定义每次 Id 或 Count 更改时都会触发命令的 CanExecute?
另一个难点是CurrentItem和SelectedItem在初始化后可以为null,在使用应用的时候会被初始化。
谢谢!
【问题讨论】:
-
CanExecute是一个单独的绑定,不是上述多重绑定的一部分。它所绑定的 ICommand 应该简单地评估有问题的两个属性。而且你不应该在你的虚拟机中定义一个绑定,这是一个糟糕的设计(虚拟机应该不知道它所绑定的视图)。
标签: wpf xaml binding viewmodel