From e38e49e7d0fa69832b198ac375e4d152c39291d0 Mon Sep 17 00:00:00 2001 From: MonkAlex <3amepob@gmail.com> Date: Sat, 9 Mar 2019 23:40:01 +0400 Subject: [PATCH] #2355 'Select all' for SelectingItemsControl with platform hotkey configuration. --- src/Avalonia.Controls/Primitives/SelectingItemsControl.cs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/Avalonia.Controls/Primitives/SelectingItemsControl.cs b/src/Avalonia.Controls/Primitives/SelectingItemsControl.cs index f5dcbf9186..e868f39fce 100644 --- a/src/Avalonia.Controls/Primitives/SelectingItemsControl.cs +++ b/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(); + bool Match(List gestures) => gestures.Any(g => g.Matches(e)); + + if (this.SelectionMode == SelectionMode.Multiple && Match(keymap.SelectAll)) { SynchronizeItems(SelectedItems, Items?.Cast()); + e.Handled = true; } } }