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]">