KeyBinding将两个命令(一个在VM中,一个在View中)绑定到一个键

时间:2012-07-03 22:52:01

标签: .net wpf xaml binding mvvm

我有一个如下所示的文本框:

<TextBox Text="{Binding Stuff, UpdateSourceTrigger=PropertyChanged}">
    <TextBox.InputBindings>
        <KeyBinding Key="Enter" Command="{Binding Path=LoadStuffCommand}" />
        <KeyBinding Key="Enter" Command="SelectAll"  />
    </TextBox.InputBindings>
</TextBox>

运行时只运行SelectAll命令。但是,如果我取出SelectAll行,那么LoadStuffCommand运行正常。

显然它正在用下​​一个命令替换命令(最后一个获胜)。但我需要一种方法来运行我的命令并选择TextBox中的所有文本。

通常情况下,我会发出另一个命令来触发我的命令。但其中一个在我的ViewModel中,一个在我的View中。如何制作一个可以同时触发的命令? (有没有办法在XAML中发出命令?)

1 个答案:

答案 0 :(得分:1)

可以使用an aggregator完成此操作。基本上,将命令分组到一个按顺序调用它们的对象中,并将其绑定到对象,就像它的一个命令一样。