private void mouseDoubleClickSetter(ListBox box, MouseButtonEventHandler handler) { if (box == null) return; // box.MouseDoubleClick += new MouseButtonEventHandler((sender, e) => { var hitItem = box.GetPlacementItem(); if (hitItem != null) handler(hitItem, e); }); }
private void allowCancelAction(ListBox box) { if (box == null) return; // box.MouseLeftButtonUp += new MouseButtonEventHandler((sender, e) => { if (box.GetPlacementItem() != null) return; // box.UnselectAll(); }); box.KeyDown += new KeyEventHandler((sender, e) => { if (Keyboard.Modifiers != ModifierKeys.None) return; // switch (e.Key) { case Key.Escape: if (box.SelectedIndex >= 0) { box.UnselectAll(); e.Handled = true; } break; } }); }