Laden...

TreeView Lazy Loading mit Databinding

Erstellt von knatterton vor 14 Jahren Letzter Beitrag vor 14 Jahren 1.280 Views
knatterton Themenstarter:in
101 Beiträge seit 2008
vor 14 Jahren
TreeView Lazy Loading mit Databinding

Hallo
Ich versuche schon etwas länger einen TreeView zu erstellen mit dem das Lazy Loading funktioniert. Habe mir dazu auch schon ein paar Beispiele angeschaut aber da war irgendwie nicht das richtige dabei. Bisher ist mir immer nur die Variante mit dem foreach geblieben. Aber WPF bietet mir ja eigentlich auch die Möglichkeit des TwoWay Databindings. Also wenn ich zwei Trees mit der selben Datenquelle habe und dann wird in dem einem Tree etwas gelöscht oder hinzugefügt wird es in dem anderen Tree automatisch aktualisiert. Kann mir da jemand helfen wie ich das Umsetzen kann? Ich bräuchte über das hinaus auch noch ein Template für meine TreeViewItems weil ich viele DependencyProperties habe ich ich pro Item ansteuern muss. Ich habe bereits ein ControlTemplate angelegt nur befürchte ich, dass ich das wegschmeißen kann. Als Datenquelle bekomme ich pro Knoten immer eine flache Collection.

Kombiniere: ...

1.433 Beiträge seit 2006
vor 14 Jahren

ObservableCollection kannst Du verwenden, wenn die Datenquelle ihre Änderungen ans GUI weitergeben soll.

Grüsse
Daniel
Space Profile
Wer nicht fragt, der nicht gewinnt

knatterton Themenstarter:in
101 Beiträge seit 2008
vor 14 Jahren

Das Problem ist nicht die Collection sondern der Aufbau des Trees mit seinen Templates, Databinding und LazyLoading. 🙁

Kombiniere: ...

5.742 Beiträge seit 2007
vor 14 Jahren

Hallo knatterton,

ich habe so etwas schon einmal in WPF TreeView gepostet.
Aber Achtung: Da war ich noch relativ unerfahren im Umgang mit der WPF (den DataTemplateSelector braucht man z.B. gar nicht).

knatterton Themenstarter:in
101 Beiträge seit 2008
vor 14 Jahren

Hi
Hmm das Beispiel sieht mir aber auch so aus als würden die Items mit Add hinzugefügt werden.

Kombiniere: ...

5.742 Beiträge seit 2007
vor 14 Jahren

Hmm das Beispiel sieht mir aber auch so aus als würden die Items mit Add hinzugefügt werden.

Ähm: Du hast nach unten gescrollt und meine Antwort gelesen?!?
Dort verwende ich Add nur für das erste Element. Und das nur, um (für das Posting irrelevanten) Code zu sparen.

knatterton Themenstarter:in
101 Beiträge seit 2008
vor 14 Jahren

Ich denke für die Anzahl der Anforderungen die ich an meinen Tree habe werde ich vermutlich auch mit einem HierarchicalDataTemplate nicht weiter kommen. Es ist ja so, dass ich die ganzen Typen die die Items benötigen um ein Binding an die Elemente machen zu können vorher bekannt sein sollten. Das ist noch nicht klar. Und auch der Baum wird immer dynamisch und unterschiedlich aufgebaut sein. Einen TemplateSelector würde ich schon brauchen. Aber das mit den Templates ist glaube ich zu aufwändig. Mein Tree wird auch auch schon aufgebaut und das PropertyChanged funktioniert auch. Nun muss nur noch das CollectionChanged eine Lösung gefunden werden und dann sollte erstmal der weiteren Entwicklung nichts mehr im Wege stehen. Danke für die Anwort. Die ultimative Lösung für alle meine Anforderungen wird es wohl nicht geben. Aber es hätte ja sein können das ich im Netz was finde 😉

Kombiniere: ...