2012-04-10 14 views
6

Ich habe folgende KeyBindings:Wie kann ich sicherstellen, dass nur ein KeyBinding-Befehl ausgeführt wird, wenn eine Tastenkombination verwendet wird?

<KeyBinding Gesture="Ctrl+S" Command="Save" /> 
<KeyBinding Gesture="Ctrl+Shift+S" Command="SaveAs" /> 

Wenn ich drücken Sie Strg + Umschalt + S den SaveAs Befehl auszuführen, es funktioniert - aber direkt danach der Save Befehl wird auch ausgeführt. Wird das durch meine Gesture-Definitionen verursacht?

+3

haben Sie das RoutedEvent als Handled = True markiert, indem Sie den Parameter RoutedEventArgs in Ihrer Methode verwenden, der das Speichern behandelt? –

+1

Das war es! Warum kann ich dich nicht einfach einstellen, um mich auf meine Schulter zu setzen und mich an solche Dinge zu erinnern? – Showtime

+0

@JfBeaulac Ich denke, es ist eine gute Idee, Ihren Kommentar als Antwort zu posten, dann kann Showtime es für Punkte akzeptieren und auch damit die Frage als beantwortet markiert werden kann. – Mzn

Antwort

3

Sie müssen das RoutedEvent als Handled=true markieren, indem Sie den Parameter RoutedEventArgs in Ihrer Methode verwenden, die das Speichern behandelt.