From d7c73f6922cb6f2fa256da48148b34f7744a2556 Mon Sep 17 00:00:00 2001 From: Steven Kirk Date: Fri, 7 Aug 2015 01:03:26 +0200 Subject: [PATCH] Expand TreeViewItems with arrow keys. --- Perspex.Controls/TreeViewItem.cs | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/Perspex.Controls/TreeViewItem.cs b/Perspex.Controls/TreeViewItem.cs index 031e9d697e..f2edb63849 100644 --- a/Perspex.Controls/TreeViewItem.cs +++ b/Perspex.Controls/TreeViewItem.cs @@ -100,5 +100,30 @@ namespace Perspex.Controls this.treeView = null; } } + + protected override void OnKeyDown(KeyEventArgs e) + { + if (!e.Handled) + { + switch (e.Key) + { + case Key.Right: + if (this.Items != null && this.Items.Cast().Any()) + { + this.IsExpanded = true; + } + + e.Handled = true; + break; + + case Key.Left: + this.IsExpanded = false; + e.Handled = true; + break; + } + } + + base.OnKeyDown(e); + } } }