J'ai quelques routines pour les commandes comme control-A, copier coller et tout fonctionne bien. Ensuite, j'ai ajouté 4 autres commandes routées pour déplacer l'objet vers le bas à gauche et à droite dans le canevas à l'aide des touches fléchées, elles fonctionnent parfois et parfois non. Au début, je pensais que c'était un problème de Focus sur le Canvas, mais je viens de découvrir que, en même temps, toutes les autres commandes routées comme control-A fonctionnent mais les touches fléchées ne le font pas. Je n'ai vraiment aucune idée de ce qui se passe ici, ce sont des commandes routées identiques avec des noms de variables différents, comment se fait-il que l'on travaille 100% du temps et que l'on ne travaille que 50% du temps?WPF Routed Command ne se déclenche parfois que
travail RoutedCommand:
_bindings.Add(new CommandBinding(DesignerCanvas.SelectAll, SelectAll_Executed));
SelectAll.InputGestures.Add(new KeyGesture(Key.A, ModifierKeys.Control));
private void SelectAll_Executed(object sender, ExecutedRoutedEventArgs e)
{
SelectionService.SelectAll();
}
Dysfonctionnement RoutedCommand:
_bindings.Add(new CommandBinding(DesignerCanvas.MoveDown, MoveDown_Executed));
MoveDown.InputGestures.Add(new KeyGesture(Key.Down));
private void MoveDown_Executed(object sender, ExecutedRoutedEventArgs e)
{
e.Handled = true;
var selectedItems = from item in SelectionService.CurrentSelection.OfType<DesignerItem>()
select item;
if (selectedItems.Count() > 0)
{
for (int i = 0; i < selectedItems.Count(); i++)
selectedItems.ElementAt(i).Top += Option.OptionSingleton.Sensitivity;
}
}
Le dysfonctionnement RoutedCommand est tout simplement pas tire parfois, surtout après avoir ouvert une autre fenêtre et revenir à la toile, alors il arrête de tirer alors que les autres commandes routées ne sont pas affectées. Des idées sur ce qui cause ce comportement bizarre?