Ich habe mich etwas ratlos im Umgang mit dem folgenden - Sagen wir mal, ich habe zwei Textfelder in einem Benutzer-Steuerelement in einem Register eines TabControl
und verschiedene andere enthalten Kontrollen in den anderen Registerkarten, die für dieses Beispiel belanglos sind. Wenn meine Benutzer die Tabulatortaste drücken, um von einem Textfeld zum nächsten zu gelangen, schaltet die TabControl
tatsächlich Registerkarten um ... natürlich handelt es sich nicht um ein Verhalten, das in der Produktion auftreten kann. Gibt es eine Möglichkeit, die Tab-Tastengeste an das aktive Benutzersteuerelement zu binden, damit es nicht aufbläht? Ich habe versucht, die folgenden bisher ohne Glück:Disable Key Gesture für TabControl in MVVM
XAML
<TabControl.InputBindings>
<KeyBinding Gesture="TAB" Command="{Binding CancelTabChangeCommand}"/>
</TabControl.InputBindings>
C#
this.CancelTabChangeCommand = new DelegateCommand<object>(t => { });
Normalerweise würde ich die Vorschau-Taste abfangen Ereignis nach unten und überprüfen, um zu sehen, ob die Gesten sind diejenigen, ich versuche zu deaktivieren und markieren Sie die behandelt Eigentum im Falle Argumente, aber da meine App MVVM ist, bin ich ein bisschen außerhalb meiner Fachkenntnisse in dieser Sache abgedriftet. Oben hatte ich gehofft, dass das Setzen der Tastengeste auf einen leeren Befehl das normale Ereignis überschreiben würde, aber das ist offensichtlich nicht der Fall.
Jede Hilfe wäre großartig.
Danke, dass ... meistens gearbeitet. Aus welchem Grund auch immer, wenn ich das letzte Steuerelement in meinem Benutzersteuerelement erreiche, verlässt es dann das Steuerelement, gibt es eine Möglichkeit, das vollständig zu blockieren, wo der Benutzer tatsächlich außerhalb des Steuerelements klicken müsste, um es freizugeben? – Aaj
Nevermind, nur herausgefunden, dass "Cycle" genau das tun wird. Nochmals vielen Dank für Ihre Hilfe! – Aaj
@Aaj Ich war mir nicht sicher was 'KeyboardNavigationMode' für Sie arbeiten würde, so froh, dass Sie das herausgefunden haben :) – Rachel