diff --git a/Perspex.Controls/DropDown.cs b/Perspex.Controls/DropDown.cs index 69ac54bb75..3116b1d53f 100644 --- a/Perspex.Controls/DropDown.cs +++ b/Perspex.Controls/DropDown.cs @@ -71,11 +71,19 @@ namespace Perspex.Controls { base.OnKeyDown(e); - if (!e.Handled && - (e.Key == Key.F4 || (e.Key == Key.Down && ((e.Device.Modifiers & ModifierKeys.Alt) != 0)))) + if (!e.Handled) { - this.IsDropDownOpen = !this.IsDropDownOpen; - e.Handled = true; + if (e.Key == Key.F4 || + (e.Key == Key.Down && ((e.Device.Modifiers & ModifierKeys.Alt) != 0))) + { + this.IsDropDownOpen = !this.IsDropDownOpen; + e.Handled = true; + } + else if (e.Key == Key.Escape) + { + this.IsDropDownOpen = false; + e.Handled = true; + } } }