diff options
author | Jose Medrano <josmed@microsoft.com> | 2022-02-16 20:24:32 +0300 |
---|---|---|
committer | vs-mobiletools-engineering-service2 <valco@microsoft.com> | 2022-03-01 18:01:15 +0300 |
commit | 685039bab71ed5c40a128e9cf67f898e83e379c3 (patch) | |
tree | d8d93ca798ffc000d19a9be2191df8c1561b2215 | |
parent | 45147ddbe52f859ed2f7d3f28172ac6eea33bc7b (diff) |
Makes FocusableComboBox a ProxyResponder class
-rw-r--r-- | Xamarin.PropertyEditing.Mac/Controls/Custom/FocusableComboBox.cs | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/Xamarin.PropertyEditing.Mac/Controls/Custom/FocusableComboBox.cs b/Xamarin.PropertyEditing.Mac/Controls/Custom/FocusableComboBox.cs index 577ce4b..d75dde2 100644 --- a/Xamarin.PropertyEditing.Mac/Controls/Custom/FocusableComboBox.cs +++ b/Xamarin.PropertyEditing.Mac/Controls/Custom/FocusableComboBox.cs @@ -5,6 +5,24 @@ namespace Xamarin.PropertyEditing.Mac { internal class FocusableComboBox : NSComboBox { + public ProxyRowResponder ResponderProxy { get; set; } + + public override void KeyDown (NSEvent theEvent) + { + switch (theEvent.KeyCode) { + case (int)NSKey.Tab: + if (ResponderProxy != null) { + if (theEvent.ModifierFlags.HasFlag(NSEventModifierMask.ShiftKeyMask)) { + ResponderProxy.PreviousResponder (); + } else { + ResponderProxy.NextResponder (); + } + } + return; + } + base.KeyDown (theEvent); + } + public override bool BecomeFirstResponder () { var willBecomeFirstResponder = base.BecomeFirstResponder (); |