Ich versuche, einen Systemwartungsbildschirm für meine Anwendung zu entwickeln, in dem ich mehrere Registerkarten habe, die jeweils eine andere Wartungsoption darstellen, d. h. Systembenutzer und so weiter. Sobald ein Benutzer auf "Bearbeiten / Neu" klickt, um einen vorhandenen Datensatz zu ändern, möchte ich verhindern, dass der Benutzer von der aktuellen Registerkarte weg navigiert, bis der Benutzer auf Speichern oder Abbrechen klickt.
Nach einigem Googlen habe ich einen Link gefunden Ссылка was mein Problem zu lösen schien, dachte ich.
Ich habe versucht, dies zu implementieren, aber mein Event scheint nie zu feuern. Unten ist mein XAML.
%Vor%Und das ist mein Code
%Vor%Entschuldigung jetzt, wenn ich dumm bin, aber für das Leben von mir kann ich nicht trainieren sehen, warum mein Ereignis nicht ausgelöst wird, wenn der Benutzer zwischen den Tabs klickt.
Danke für Ihre Hilfe.
Emlyn
Ich habe eine Lösung gefunden, die meinen Bedürfnissen entspricht. Scheint etwas zurück, aber im Vergleich zu den anderen Optionen, die ich gefunden habe scheint nett und ordentlich.
Grundsätzlich behalte ich eine private Variable des aktuellen tabIndex und auf dem "SelectionChanged" -Ereignis des TabControls mache ich einige Prüfungen und setze den tabControl.SelectedIndex zurück auf diesen Wert, wenn der Benutzer nicht im Browse-Modus ist.
%Vor%Ich hatte auch damit zu kämpfen. Habe es einfach funktioniert, indem du einfach das
hinzufügst %Vor%Einstellung auf das TabControl. Arbeitete danach wie ein Zauber.
Josh benutzt tab.ItemsSource
. Sie verwenden tab.Items.SourceCollection
. Dies könnte das Problem sein.