Browse Source

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

pull/2356/head
MonkAlex 7 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.Data;
using Avalonia.Input;
using Avalonia.Input.Platform;
using Avalonia.Interactivity;
using Avalonia.Styling;
using Avalonia.VisualTree;
@ -469,9 +470,13 @@ namespace Avalonia.Controls.Primitives
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>());
e.Handled = true;
}
}
}

Loading…
Cancel
Save