对于 KeyBinding,我正在使用 Binding 在 Xaml 中设置 CommandParameter。在 Binding 中有一个 Converter 设置。
当我将参数绑定到属性 (INPC) 时,绑定系统使用转换器重新评估。
但是,当我将参数设置为可观察集合时,CollectionChanged 上的绑定系统不会重新评估。因此,我收到了初始转换值。
有没有办法触发 CommandParameter 重新评估 CollectionChanged。
<TextBox Grid.Row="0" Text="{Binding MyParameter}">
<TextBox.InputBindings>
<KeyBinding Gesture="CTRL+D"
Command="{Binding MyCommand}"
CommandParameter="{Binding MyParameter,
Converter={StaticResource converter}}">
</KeyBinding>
<KeyBinding Gesture="CTRL+T"
Command="{Binding MyCommand}"
CommandParameter="{Binding ChangedValuesCollection,
Converter={StaticResource CollectionConverter}}">
</KeyBinding>
</TextBox.InputBindings>
</TextBox>
在上面的代码中,我设置了一个视图模型(datacontext)。但我打算将命令参数绑定到 Grid 的 SelectedRows 集合。