Laden...

WPF Ribbon Control: kann ich mir den aufrufenden Ribbon-Tab merken?

Erstellt von FuxZuScharf vor 5 Jahren Letzter Beitrag vor 5 Jahren 1.364 Views
F
FuxZuScharf Themenstarter:in
3 Beiträge seit 2019
vor 5 Jahren
WPF Ribbon Control: kann ich mir den aufrufenden Ribbon-Tab merken?

Ich habe eine komplexe Anwendung. Wenn die Anwender darin mehrere Dialoge geöffnet haben, werden diese im Ribbon über Tabs angezeigt und der Anwender kann darin die offenen Dialoge beliebig anwählen.
Wenn z.B. 10 Dialoge geöffnet sind (und damit auch 10 Tabs) und der Anwender nun aus dem 5. Tab einen weiteren Dialog öffnet steht er in diesem neu geöffnet Dialog (dann Tab 11).
Folgende Anforderung gibt es jetzt: Wenn der Dialog des 11. (und letzten Tabs) wieder geschlossen wird, soll Tab 5 wieder aktiv sein, da der Anwender urspünglich daher kommt. Standardmässig wird aber immer der letzte (unterste, also hier 10.) Tab in der Liste aktiviert.
Nun zur Frage:
Gibt es einen Standardmechanismus um das zu ändern? Wenn ich manuell dafür sorgen muss ist der Aufwand relativ gross
Im Anhang sind 11 Tabs dargestellt, zur Verdeutlichung.

Danke für Eure Unterstützung.

4.939 Beiträge seit 2008
vor 5 Jahren

Hallo und willkommen,

du könntest dir entweder zu jedem Tab (z.B. über die Tag-Eigenschaft) oder aber in einer Liste bei jedem Öffnen eines neuen Tabs (Dialogs) den aktuellen Tab (Dialog) merken.
Und beim Schließen springst du dann zu dem zugehörigen Tab zurück (und bei der Liste müßtest du dann den Eintrag danach entfernen, damit die Indizes übereinstimmen).

F
FuxZuScharf Themenstarter:in
3 Beiträge seit 2019
vor 5 Jahren

Guten Morgen,
ich habe gerade gesehen, dass ich gesestern die Begrüßung vergessen habe, ich hoffe du verzeihst 😉

Dein Vorschlag hört sich interessant an, das bedeutet aber, dass ich alle Dialoge anfassen muss, da ich immer dann den gerade akiven Tab merken muss - das ist dann ein größerer Aufwand. Eine Standardeigenschaft der Tabs gibt es keine die dafür sorgt zum letzten aktiven "zurückzuspringen"?
Danke nochmals.

4.939 Beiträge seit 2008
vor 5 Jahren

Es gibt doch sicherlich eine Methode, welche einen neuen Tab hinzufügt? Und dort solltest du dann die Zuordnung durchführen.

Von einer Standard-Eigenschaft dafür vom TabControl wüsste ich nicht.

16.834 Beiträge seit 2008
vor 5 Jahren

Eine Standardeigenschaft der Tabs gibt es keine die dafür sorgt zum letzten aktiven "zurückzuspringen"?

Eine Technologie wie WinForms, HTML, WPF.. <füre andere UI Technologie ein> stellt Dir Controls und Funktionalitäten für die UI zur Verfügung.
Was Du hier willst ist jedoch nicht UI, sondern UX bzw. Logik der Benutzerführung.

Dafür ist die Technologie prinzipiell nicht verantwortlich und wird Dir solch eine Funktionalität auch nicht zur Verfügung stellen.
Daher nein: das musst Du i.d.R. selbst ausprogrammieren.

F
FuxZuScharf Themenstarter:in
3 Beiträge seit 2019
vor 5 Jahren

Ich muss meine Methode erweitern. Danke für den logischen Hinweis Th69. 😉
Vielen Dank für Eure Hilfe. Ich denke, damit komme ich weiter.

5.658 Beiträge seit 2006
vor 5 Jahren

Eigentlich implementiert man diese Logik im ViewModel, und nicht wie bei WinForms im Code-Behind. Schau mal hier: [Artikel] MVVM und DataBinding

Weeks of programming can save you hours of planning