Как забиндить две команды на ctrl+c?
У меня есть ListBox, у которого SelectedItem="{Binding ReceivedApplicationMessages.SelectedItem}". Я добавил метод для копирования элементов в буфер обмена и забиндил на ctrl+c, перекрыв стандартное копирование - т.е по ctrl+c срабатывает только мой метод.
<Window.KeyBindings>
<KeyBinding Command="{Binding CopyText}"
CommandParameter="{Binding ReceivedApplicationMessages.SelectedItem}"
Gesture="Ctrl + C">
</KeyBinding>
</Window.KeyBindings>
Вот сам метод:
public async Task CopyText(ReceivedApplicationMessageViewModel model)
{
var buffer = model.Details.PayloadInspector?.Buffer;
var topic = model.Topic;
var json = JObject.Parse( Encoding.UTF8.GetString( buffer! ) ).ToString();
var resultJson = $"{topic + Environment.NewLine } {json}";
await Application.Current.Clipboard.SetTextAsync( resultJson );
}
Да, я понимаю, что можно назначить эту команду на другие кнопки, но хотелось бы именно ctrl+с. Это что-то похожее на перегрузку клавиш, наверное. По нажатию на ctrl+c, я копирую все, что мне надо, включая сообщения в листбоксе, используя мою логику. Только не совсем понятно, как это сделать