From ec193b05c33946a8b377d6cde46f70f88f739eb7 Mon Sep 17 00:00:00 2001 From: Steven Kirk Date: Sun, 12 Jul 2015 19:57:31 +0200 Subject: [PATCH] Added keyboard support to Button. --- Perspex.Controls/Button.cs | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/Perspex.Controls/Button.cs b/Perspex.Controls/Button.cs index add630cecd..6bb6a55d79 100644 --- a/Perspex.Controls/Button.cs +++ b/Perspex.Controls/Button.cs @@ -100,6 +100,39 @@ namespace Perspex.Controls } } + protected override void OnKeyDown(KeyEventArgs e) + { + if (e.Key == Key.Enter) + { + this.RaiseClickEvent(); + e.Handled = true; + } + else if (e.Key == Key.Space) + { + if (this.ClickMode == ClickMode.Press) + { + this.RaiseClickEvent(); + } + + e.Handled = true; + } + + base.OnKeyDown(e); + } + + protected override void OnKeyUp(KeyEventArgs e) + { + if (e.Key == Key.Space) + { + if (this.ClickMode == ClickMode.Release) + { + this.RaiseClickEvent(); + } + + e.Handled = true; + } + } + protected override void OnDetachedFromVisualTree(IRenderRoot oldRoot) { base.OnDetachedFromVisualTree(oldRoot);