Hallo!
Ich habe Listbox-Items, die über ein ItemTemplate aus jeweils einem TabControl bestehen. Jedes der Items hat die selben drei Tabs. Nun sollen, wenn ich bei einem Item ein bestimmtes Tab anzeige, auch bei allen anderen die Tabs umspringen, sodass alle dasselbe Tab anzeigen.
Da ich keine andere Lösung fand, habe ich das ein bisschen "quick and dirty" gemacht: Der Klasse, die in der Listbox angezeigt wird, habe ich eine Eigenschaft von diesem Singleton verpasst:
Delphi-Prism-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| type TabSync = public class private class var fInstance : TabSync := new TabSync; constructor; empty; protected public class property Instance : TabSync read fInstance; property TabIndex : Integer; end; |
Und den TabIndex im Template habe ich dann an (TabSync.TabIndex) gebunden.
Nun springen die Tabs auch hübsch alle gleichzeitig um. Dummerweise scrollt die Listbox dabei immer wieder ganz nach oben, was natürlich doof ist. Kann ich das irgendwie verhindern oder noch besser: Gibt es eine elegantere Möglichkeit, das zu erreichen, was ich will?
Vielen Dank,
Grüße,
Christian
P.S.: Das mit den TabControls in den Listbox-Items soll so bleiben, also bitte keine Vorschläge, wie man das Layout umgestalten könnte
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".