diff --git a/Perspex.Controls/DropDown.cs b/Perspex.Controls/DropDown.cs index ea2c1d1a2c..69ac54bb75 100644 --- a/Perspex.Controls/DropDown.cs +++ b/Perspex.Controls/DropDown.cs @@ -67,6 +67,18 @@ namespace Perspex.Controls return new ItemContainerGenerator(this); } + protected override void OnKeyDown(KeyEventArgs e) + { + base.OnKeyDown(e); + + if (!e.Handled && + (e.Key == Key.F4 || (e.Key == Key.Down && ((e.Device.Modifiers & ModifierKeys.Alt) != 0)))) + { + this.IsDropDownOpen = !this.IsDropDownOpen; + e.Handled = true; + } + } + protected override void OnPointerPressed(PointerPressEventArgs e) { if (!this.IsDropDownOpen)