Salut J'ai un problème étrange avec CommandBindings dans WPF. J'ajoute CommandBindings dans le constructeur de l'objet. Les liaisons de commande ressemble queLes liaisons de commandes d'application WPF ne fonctionnent pas
CommandBindings.Add(new CommandBinding(ApplicationCommands.Copy,Copy_Executed,Copy_Enabled));
CommandBindings.Add(new CommandBinding(ApplicationCommands.Cut,Cut_Executed,Cut_Enabled));
CommandBindings.Add(new CommandBinding(ApplicationCommands.Paste,Paste_Executed,Paste_Enabled));
fonctions qui sont responsables lui correspondant pour l'exécution regarder de cette façon
private void Paste_Enabled(object sender,CanExecuteRoutedEventArgs e)
{
e.CanExecute = selectionService != null && selectionService.CurrentSelection.Count > 0;
}
private void Paste_Executed(object sender, ExecutedRoutedEventArgs e)
{
if (GetSelected() != null)
Paste(true);
else
Paste(false);
}
private void Copy_Executed(object sender, ExecutedRoutedEventArgs e)
{
Copy();
}
private void Copy_Enabled(object sender, CanExecuteRoutedEventArgs e)
{
e.CanExecute = selectionService.CurrentSelection.OfType<DesignerItem>().Count() > 0;
}
#endregion
private void Cut_Executed(object sender, ExecutedRoutedEventArgs e)
{
Copy();
DeleteCurrentSelection(false);
}
private void Cut_Enabled(object sender, CanExecuteRoutedEventArgs e)
{
e.CanExecute = this.SelectionService.CurrentSelection.Count() > 0;
}
Le problème est que les travaux de commande ne coupe. Je veux dire que si je mets un point d'arrêt dans une autre fonction (copier ou coller), le point d'arrêt ne sera pas touché. Quelqu'un pourrait-il me dire ce que je fais mal ??
Est-ce que le code se rendre à la méthode Copy_Enabled? – Dabblernl