diff --git a/samples/scenarios/Scenario.KeyBinding/Input/KeyTrigger.cs b/samples/scenarios/Scenario.KeyBinding/Input/KeyTrigger.cs index 442614638..3fc5849b1 100644 --- a/samples/scenarios/Scenario.KeyBinding/Input/KeyTrigger.cs +++ b/samples/scenarios/Scenario.KeyBinding/Input/KeyTrigger.cs @@ -41,7 +41,8 @@ protected override void OnDetaching() private void OnAssociatedObjectKeyDown(object sender, KeyEventArgs e) { - if ((e.Key == Key) && (Keyboard.Modifiers == GetActualModifiers(e.Key, Modifiers))) + var key = (e.Key == Key.System) ? e.SystemKey : e.Key; + if ((key == Key) && (Keyboard.Modifiers == GetActualModifiers(e.Key, Modifiers))) { InvokeActions(e); } @@ -70,4 +71,4 @@ static ModifierKeys GetActualModifiers(Key key, ModifierKeys modifiers) return modifiers; } } -} \ No newline at end of file +} diff --git a/samples/scenarios/Scenario.KeyBinding/ViewModels/ShellViewModel.cs b/samples/scenarios/Scenario.KeyBinding/ViewModels/ShellViewModel.cs index a13c0a8a8..f964144ad 100644 --- a/samples/scenarios/Scenario.KeyBinding/ViewModels/ShellViewModel.cs +++ b/samples/scenarios/Scenario.KeyBinding/ViewModels/ShellViewModel.cs @@ -31,5 +31,10 @@ public void CtrlEnterPressed() { EnterMessage = "Ctrl+Enter has been pressed"; } + + public void AltEnterPressed() + { + EnterMessage = "Alt+Enter has been pressed"; + } } } diff --git a/samples/scenarios/Scenario.KeyBinding/Views/ShellView.xaml b/samples/scenarios/Scenario.KeyBinding/Views/ShellView.xaml index a338ce5d0..f653b6c41 100644 --- a/samples/scenarios/Scenario.KeyBinding/Views/ShellView.xaml +++ b/samples/scenarios/Scenario.KeyBinding/Views/ShellView.xaml @@ -15,7 +15,7 @@ + cal:Message.Attach="[Key Enter] = [EnterPressed]; [Gesture Ctrl+Enter] = [CtrlEnterPressed]; [Gesture Alt+Enter] = [AltEnterPressed]">