Autor Beitrag
Christoph1972
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 690
Erhaltene Danke: 16


VS2015 Pro / C# & VB.Net
BeitragVerfasst: Do 28.07.11 20:44 
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?

_________________
Gruß
Christoph
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 690
Erhaltene Danke: 16


VS2015 Pro / C# & VB.Net
BeitragVerfasst: Do 28.07.11 22:29 
user profile iconKha hat folgendes geschrieben Zum zitierten Posting springen:
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

_________________
Gruß
Christoph
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 690
Erhaltene Danke: 16


VS2015 Pro / C# & VB.Net
BeitragVerfasst: 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 ;-)

_________________
Gruß
Christoph
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 690
Erhaltene Danke: 16


VS2015 Pro / C# & VB.Net
BeitragVerfasst: 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....

_________________
Gruß
Christoph