Как забиндить две команды на 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, я копирую все, что мне надо, включая сообщения в листбоксе, используя мою логику. Только не совсем понятно, как это сделать


Ответы (0 шт):