Entwickler-Ecke
WPF / Silverlight - TreeView an Dictionary binden?
Christoph1972 - Do 28.07.11 20:44
Titel: TreeView an Dictionary binden?
Hallo zusammen!
Ich würde gerne ein TreeView an ein "Dictionary<string, List<Person>>" binden.
Leider bin ich mit dem Databinding unter WPF noch nicht sehr vertraut, daher habe ich wirklich keine Idee wie das gelingen könnte.
Ist das überhaupt möglich (bestimmt oder?), oder muss ich das mittels Iteration lösen?
Kha - Do 28.07.11 22:15
Ich habe noch nicht verstanden, wo da die Verschachtelung ins Spiel kommt. Auf jeden Fall ist hierarchisches Data Binding ein Thema für sich, ich würde da für erste Mal nach einem ausführlichen Artikel suchen.
Christoph1972 - Do 28.07.11 22:29
Kha hat folgendes geschrieben : |
| Auf jeden Fall ist hierarchisches Data Binding ein Thema für sich, ich würde da für erste Mal nach einem ausführlichen Artikel suchen. |
Hab ich natürlich, jedoch konnte ich nichts finden, was verständlich für mich war.
Also, der Key soll an das TreeNodeItem gebunden werden, nur eine Bezeichnung. Die SubNodes (StackPanel mit Image und TextBlock) sollen an das Objekt "Person" gebunden werden. Der Text vom TextBlock an die Property "Name". Für jedes Element in der List<Person> soll es ein SubNode geben.
Die Verschachtelung schaut so aus:
Gruppe A
Meier
Müller
Gruppe B
Meiser
Miller
Gruppe C
User1
User2
Kha - Do 28.07.11 23:31
Ah, also gar keine rekursive Struktur. Dann sieht es nicht anders aus als bei anderen ItemsControls: Im DataTemplate erstellst du ein TreeViewItem mit Key an Header und Value an Items gebunden, ggf. dann eben wiederum mit einem eigenen ItemTemplate.
Christoph1972 - Fr 29.07.11 07:10
Guten Morgen :? (is noch früh)
Vielen Dank für die Antwort! Ich bin leider nicht fit mit dem DataBinding unter WPF. Wie bereits gesagt, ich habe nicht mal im Ansatz eine Idee wie das aussehen muss/könnte, auch nicht durch die Hinweise. Von der Theorie kann ich mir ja schon vorstellen wies der Aufbau erfolgen könnte. Ich bin jedoch nicht in der lage das in XAML umzusetzen.
Könnte mir jemand ein kleines Beispiel posten wie ich das Binding an das Dictionary setzen muss?
Das Internet hat bisher keine Beschreibung für diese Aufgabenstellung parat. Vielleicht gibt es ja bald hier was brauchbares zu dem Thema ;-)
Kha - Fr 29.07.11 11:37
Ein Dictionary ist auch nur ein IEnumerable. Schau dir wirklich mal eine asuführliche Beschreibung zu ItemsControl an, das solltest dann übertragen können.
Christoph1972 - Fr 29.07.11 15:03
Hi,
ich habe das jetzt mit einer List<TreeViewItem> gelöst. Wie das mit einem Dictionary gehen soll ist mir ein Rätsel, daher lasse ich den Thread mal offen. Vielleicht postet ja mal jemand was brauchbares....
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!