MainWindow.xaml
<Window x:Class="ApplicationWPF.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:ApplicationWPF"
mc:Ignorable="d"
Title="MainWindow" Height="350" Width="525">
<Grid PreviewKeyUp="Grid_PreviewKeyUp">
<Label Content="Command1" HorizontalAlignment="Left" Margin="10,10,0,0" VerticalAlignment="Top"/>
<ComboBox Name="comboBox1" HorizontalAlignment="Left" Margin="87,10,0,0" VerticalAlignment="Top" Width="120"/>
<Button Content="Применить" HorizontalAlignment="Left" Margin="212,10,0,0" VerticalAlignment="Top" Width="75" Click="Button_Click"/>
<TextBox Name="textBox1" HorizontalAlignment="Left" Height="254" Margin="10,56,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="277"/>
</Grid>
</Window>
MainWindow.xaml.cs
using System;
using System.Collections.Generic;
using System.Windows;
using System.Windows.Input;
namespace ApplicationWPF
{
public partial class MainWindow : Window
{
// https://docs.microsoft.com/ru-ru/dotnet/api/system.windows.forms.keys
private Dictionary<string, Key> keys = new Dictionary<string, Key>
{
{ "F1", Key.F1 },
{ "F2", Key.F2 }
};
private Key keyCommand1;
public MainWindow()
{
InitializeComponent();
foreach (KeyValuePair<string, Key> key in keys)
{
comboBox1.Items.Add(key.Key);
}
}
private void Button_Click(object sender, RoutedEventArgs e)
{
keyCommand1 = keys[comboBox1.SelectedItem.ToString()];
}
private void Grid_PreviewKeyUp(object sender, KeyEventArgs e)
{
if (e.Key == keyCommand1)
{
textBox1.Text += "Нажата клавиша " + e.Key.ToString() + " - Выполнение команды 1" + Environment.NewLine;
}
}
}
}