Я написал пользовательское расширение разметки для «связывания» InputBindings
с командами, которое можно использовать почти как реальное связывание:
<UserControl.InputBindings>
<KeyBinding Modifiers="Control"
Key="E"
Command="{input:CommandBinding EditCommand}"/>
</UserControl.InputBindings>
Обратите внимание, что это расширение разметки использует частное отражение, поэтому его можно использовать, только если ваше приложение работает с полным доверием ...
Другой вариант - использовать класс CommandReference
. Его можно найти в наборе инструментов MVVM, доступном здесь . Это, вероятно, более чистый подход, но немного более сложный в использовании.
Обратите внимание, что в WPF 4 свойства InputBinding.Command
, InputBinding.CommandParameter
и InputBinding.CommandTarget
являются свойствами зависимости, поэтому они могут быть связаны в обычном режиме