WPF TreeView an XMLDocument binden

accelle

Grünschnabel
Hallo @all,

ich habe folgende Situation:

Ich erstelle ein Window in WPF, dieses enthält unter anderem einen TreeView.
Der TreeView soll aus einem XMLDocument gefüllt werden. Das XML hat eine variabel tiefe Struktur.

Meine Frage: Wie kann ich den TreeView mittels DataBinding an das XMLDocument binden?

Danke vorab für alle Tipps
Peter
 
Was heißt denn genau "variabel tiefe Struktur"? Wenn es jetzt z. B. nur 2 verschiedene Knoten-Typen gibt, dann geht das so:

Code:
<?xml version="1.0" encoding="utf-8"?>
<Daten>
  <Kategorie Name="Kat1">
    <Eintrag Name="Eintr1"/>
  </Kategorie>

  <Kategorie Name="Kat2">
    <Eintrag Name="Eintr2"/>
    <Kategorie Name="UKat1">
      <Eintrag Name="Eintr3"/>
    </Kategorie>
  </Kategorie>
</Daten>

Dieser Baum dürfte jetzt beliebig weit verschachtelt sein, aber eben nur aus "Kategorien" und "Einträgen" bestehen. Das Binding funktioniert dann so:

Code:
    <Window.Resources>
        <XmlDataProvider Source="Daten.xml" x:Key="Daten"/>

        <HierarchicalDataTemplate DataType="Kategorie" ItemsSource="{Binding XPath=Kategorie|Eintrag}">
            <TextBlock Text="{Binding XPath=@Name}"/>
        </HierarchicalDataTemplate>

        <DataTemplate DataType="Eintrag">
            <TextBlock Text="{Binding XPath=@Name}"/>
        </DataTemplate>
    </Window.Resources>
...
        <TreeView ItemsSource="{Binding Source={StaticResource Daten}, XPath=Daten/Kategorie}"/>

Ich hoffe, das löst dein Problem.
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück