Browse Source

#2355 'Select all' for SelectingItemsControl with platform hotkey configuration.

pull/2356/head
MonkAlex 8 years ago
parent
commit
e38e49e7d0
  1. 7
      src/Avalonia.Controls/Primitives/SelectingItemsControl.cs

7
src/Avalonia.Controls/Primitives/SelectingItemsControl.cs

@ -10,6 +10,7 @@ using Avalonia.Collections;
using Avalonia.Controls.Generators; using Avalonia.Controls.Generators;
using Avalonia.Data; using Avalonia.Data;
using Avalonia.Input; using Avalonia.Input;
using Avalonia.Input.Platform;
using Avalonia.Interactivity; using Avalonia.Interactivity;
using Avalonia.Styling; using Avalonia.Styling;
using Avalonia.VisualTree; using Avalonia.VisualTree;
@ -469,9 +470,13 @@ namespace Avalonia.Controls.Primitives
if (!e.Handled) if (!e.Handled)
{ {
if (this.SelectionMode == SelectionMode.Multiple && e.Key == Key.A && e.Modifiers == InputModifiers.Control) var keymap = AvaloniaLocator.Current.GetService<PlatformHotkeyConfiguration>();
bool Match(List<KeyGesture> gestures) => gestures.Any(g => g.Matches(e));
if (this.SelectionMode == SelectionMode.Multiple && Match(keymap.SelectAll))
{ {
SynchronizeItems(SelectedItems, Items?.Cast<object>()); SynchronizeItems(SelectedItems, Items?.Cast<object>());
e.Handled = true;
} }
} }
} }

Loading…
Cancel
Save