Autor Beitrag
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Di 15.04.08 11:38 
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:
ausblenden Delphi-Prism-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
type
  TabSync = public class
  private class var
    fInstance : TabSync := new TabSync;
    constructorempty;
  protected
  public
    class property Instance : TabSync read fInstance;
    property TabIndex : Integer; //+INotifyPropertChanged
  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".
Christian S. Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Do 17.04.08 10:57 
Ich schiebe das hier mal nach oben :-)

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: Sa 19.04.08 14:57 
Ich hab einfach mal an Tag gebunden und kann die Scroll-Probleme zum Glück ;) nicht nachvollziehen. Kann mir allerdings nicht vorstellen, dass es an der verschiedenen Bindung liegen sollte :gruebel: .
Und ganz rund läuft es auch nicht, die Selektionen springen beim Scrollen wie wild herum. Das dürfte aber wohl sogar ein WPF-Bug sein.
Einloggen, um Attachments anzusehen!
Christian S. Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: So 20.04.08 19:26 
In Deinem Beispiel läuft es schon runder, einen Effekt, der "meinem" sehr ähnlich ist, kann man aber reproduzieren: Markiert man das letzte Item, scrollt soweit hoch, dass es nicht mehr im Blick ist und wechselt dann das Tab, scrollt die Listbox soweit, dass das markierte Item gerade am unteren Rand sichtbar ist.

Bei mir habe ich noch nicht so ein System entdecken können, für einzelne Fälle kann ich zwar sagen, wie er springen wird (ist das Erste markiert springt er zur Unterkante des zweiten Items :nuts:), aber das bringt mich auch nicht weiter. Ich glaube, das ist wirklich ein Bug in der WPF. :-(

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".