2

次の動作が必要です。

  • Ctrl + 1 を押すと、リストから最初の項目が選択されます
  • Ctrl + 2 は最初の 2 つの要素を選択します
  • 等々。

現在、押されたキーは RoutedEvent、Window.CommandBindings、および InputGesture で処理しています。正常に動作しますが、ほぼ同じコマンドが 10 個あります (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