Dans mon XAML, j'ai ceci :
<UserControl.CommandBindings>
<CommandBinding Command="Help"
CanExecute="HelpCanExecute"
Executed="HelpExecuted" />
</UserControl.CommandBindings>
<MenuItem Header="Help" Command="Help" />
Cela fonctionne bien. Lorsque je clique sur le menu contextuel, HelpExecuted() est appelé.
Je veux maintenant refaire la même chose, mais en utilisant une commande personnalisée au lieu de la commande d'aide. Voici donc ce que je fais :
public RoutedCommand MyCustomCommand = new RoutedCommand();
et changer mon XAML en :
<UserControl.CommandBindings>
<CommandBinding Command="MyCustomCommand"
CanExecute="HelpCanExecute"
Executed="HelpExecuted" />
</UserControl.CommandBindings>
<MenuItem Header="Help" Command="MyCustomCommand" />
Mais je reçois l'erreur : Impossible de convertir la chaîne "MyCustomCommand" dans l'attribut "Command" en objet de type "System.Windows.Input.ICommand". CommandConverter ne peut pas convertir de System.String.
Qu'est-ce qui m'échappe ? Et veuillez noter que je veux faire tout cela en XAML, c'est-à-dire que je ne veux pas utiliser CommandBindings.Add(new CommandBinding(MyCustomCommand....