我希望以下行为:
- 按 Ctrl + 1 会导致从列表中选择第一个项目
- Ctrl + 2 选择前两个元素
- 等等。
目前我正在通过 RoutedEvent、Window.CommandBindings 和 InputGesture 处理按下的键。它工作正常,但我有十个几乎相同的命令(1,2,3...9,0)。有没有更好的办法?例如,将按下的键发送到 CommandBinding.Executed
我的代码示例:
//XAML
<Window.CommandBindings>
<CommandBinding Command="{x:Static local:CustomCommands.SelectOne}" Executed="cmdSelectOne_Executed" />
//CustomCommands.cs
public static class CustomCommands
{
public static RoutedCommand SelectOne = new RoutedCommand();
//...
static CustomCommands()
{
omg.InputGestures.Add(new KeyGesture(Key.D1, ModifierKeys.Control, "Ctrl + 1"));
//...
//MainWindow.xaml.cs
private void cmdSelectOne_Executed(object sender, ExecutedRoutedEventArgs e)