2012-07-03 29 views
0

我有一個文本框,如下所示:鍵聯結兩個命令(一個在虛擬機和一個在View),以一個關鍵

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

當它運行時只選命令運行。但是,如果我取出SelectAll行,則LoadStuffCommand運行良好。

很明顯,它將取代下一個命令(最後一個勝利)的命令。但我需要一種方法來運行我的命令,並選擇TextBox中的所有文本。

通常情況下,我只是製作另一個命令來觸發我的兩個命令。但其中一個是在我的ViewModel中,另一個是在我的View中。我怎麼能做出一個能同時觸發的命令? (有沒有辦法在XAML中做出命令?)

+0

試試這個http://stackoverflow.com/questions/6601270/can-i-call-a-command-inside-a-command – ecMode

回答

1

這可以用an aggregator完成。基本上,將這些命令分組爲一個對象,然後按順序調用它們,並將其綁定到該對象,就像它的一個命令一樣。

+0

謝謝你的答案。但是,該示例使用自定義滾動的命令(因此它們具有「實例」屬性)或應用程序級命令。我只是在我的ViewModel上使用DelegateCommand,或者在我的TextBox上使用SelectAll命令。滾動我自己的命令類似乎是錯誤的方法。 – Vaccano

+0

DelegateCommands實現Icommand。您應該能夠使用此解決方案而不更改任何內容。或者使用這個模型推出自己的產品。它非常簡單。 – Tyrsius

相關問題