From be577740474095b84bf812c117a766e719cfa115 Mon Sep 17 00:00:00 2001 From: Brian Lagunas <835562+brianlagunas@users.noreply.github.com> Date: Fri, 23 Aug 2024 10:22:18 -0600 Subject: [PATCH] Fixed KeyTrigger where the Alt key was being seen as Key.System --- src/Microsoft.Xaml.Behaviors/Input/KeyTrigger.cs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/Microsoft.Xaml.Behaviors/Input/KeyTrigger.cs b/src/Microsoft.Xaml.Behaviors/Input/KeyTrigger.cs index dae0561..094204c 100644 --- a/src/Microsoft.Xaml.Behaviors/Input/KeyTrigger.cs +++ b/src/Microsoft.Xaml.Behaviors/Input/KeyTrigger.cs @@ -74,6 +74,12 @@ protected override string GetEventName() private void OnKeyPress(object sender, KeyEventArgs e) { bool isKeyMatch = e.Key == this.Key; + // Handle the scenario where the Alt key is pressed (reported as Key.System), allowing the main key to be detected correctly. + if (e.Key == Key.System) + { + // Check if the actual key being held (e.SystemKey) matches the developer-defined key. + isKeyMatch = e.SystemKey == this.Key; + } // Get the actual modifiers considering special keys like LeftCtrl, RightCtrl, etc. ModifierKeys actualModifiers = GetActualModifiers();