From 60b89bb14e58a6173b0ac0b690cd7195abf05ffe Mon Sep 17 00:00:00 2001 From: Tobias Ibounig Date: Fri, 28 Jun 2013 23:27:57 +0200 Subject: [PATCH] Changed behavior for 'Key.Space' in SharpTreeView.cs instead of 'double click', now it sets 'IsChecked'. Change can be observed in 'Search for issues' --- .../ICSharpCode.TreeView/SharpTreeView.cs | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/Libraries/SharpTreeView/ICSharpCode.TreeView/SharpTreeView.cs b/src/Libraries/SharpTreeView/ICSharpCode.TreeView/SharpTreeView.cs index 9b3f1a76f9..5e1f073eea 100644 --- a/src/Libraries/SharpTreeView/ICSharpCode.TreeView/SharpTreeView.cs +++ b/src/Libraries/SharpTreeView/ICSharpCode.TreeView/SharpTreeView.cs @@ -239,11 +239,20 @@ namespace ICSharpCode.TreeView } break; case Key.Return: - case Key.Space: if (container != null && Keyboard.Modifiers == ModifierKeys.None && this.SelectedItems.Count == 1 && this.SelectedItem == container.Node) { container.Node.ActivateItem(e); } break; + case Key.Space: + if (container != null && Keyboard.Modifiers == ModifierKeys.None && this.SelectedItems.Count == 1 && this.SelectedItem == container.Node) { + if(container.Node.IsCheckable) { + if(container.Node.IsChecked == null) // If partially selected, we want to select everything + container.Node.IsChecked = true; + else + container.Node.IsChecked = !container.Node.IsChecked; + } + } + break; case Key.Add: if (container != null && ItemsControl.ItemsControlFromItemContainer(container) == this) { container.Node.IsExpanded = true;