Question

Je gère les commandes à l'intérieur d'une classe RoutedCommand qui implémente RoutedUICommand. Cela m'aiderait à bloquer ou à écraser une commande en vérifiant si besoin est CanExecute et Execute. Je peux remplacer EditingCommand, ApplicationCommand, etc. Une des commandes que je ne peux même pas gérer est Ctr + Barre d'espacement. Est-ce un MediaCommand ou un autre type que je ne trouve pas? Je suppose que cela a été traité ailleurs et c'est pourquoi je ne peux pas le contrôler.

Était-ce utile?

La solution

Vous pouvez créer votre propre commande personnalisée ou simplement ajouter un nouveau geste pour une commande prédéfinie, par exemple:

.
public Window1()
    {
        InitializeComponent();
        ApplicationCommands.Find.InputGestures.Add(new KeyGesture(Key.Space, ModifierKeys.Control));
        CommandBinding commandBinding = new CommandBinding(ApplicationCommands.Find, myCommandHandler);
        this.CommandBindings.Add(commandBinding);
    }

    private void myCommandHandler(object sender, ExecutedRoutedEventArgs args)
    {
        MessageBox.Show("Command invoked!");
    }

Autres conseils

Je n'ai pas beaucoup d'expérience dans l'utilisation des commandes WPF, mais essayez de créer vos propres commandes personnalisées pour Ctrl et barre d'espace.

Consultez ce didacticiel: http: // www. .switchonthecode.com / tutorials / wpf-tutorial-commandes-liaisons-et-commandes-personnalisées

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top