Вы можете просто добавить горячую клавишу в любой логический контекст, в котором она существует. Существует множество способов обработки горячих клавиш в WPF, однако ваша базовая разметка должна выглядеть примерно так:
<Window>
<StackPanel>
<local:MyUserControlA>
<local:MyUserControlA.InputBindings>
<KeyBinding Key="Enter" Command="{Binding SaveACommand}" />
</local:MyUserControlA.InputBindings>
</local:MyUserControlA>
<local:MyUserControlB>
<local:MyUserControlB.InputBindings>
<KeyBinding Key="Enter" Command="{Binding SaveBCommand}" />
</local:MyUserControlB.InputBindings>
</local:MyUserControlB>
</StackPanel>
</Window>
Этобудет работать SaveACommand
, если UserControlA
имеет фокус клавиатуры, или SaveBCommand
, если UserControlB
имеет фокус клавиатуры.