2

我希望以下行为:

  • 按 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)
4

0 回答 0