Sehr geehrte Damen und Herren,
in unserem Silverlight-Projekt nutzen wir Frames und Pages zur Darstellung der Seiten. Die Auflistung der vorhandenen Seiten soll nun in einem TreeView-Element erfolgen, welche mittels einer XML-Datei gespeist wird.
Die XML-Datei soll dabei "Unterordner" berücksichtigen, welche entsprechend im TreeView dargestellt werden sollen. Sie hat folgende Struktur:
Dazu wurde eine C#-Klasse `NavigationItem` erstellt:
Das Ergebnis soll im XAML später folgendem Code entsprechen:
Leider bekomme ich es nicht hin, die XML-Datei im TreeView so abzubilden.
Wenn ich es nach der Methode versuche, welche hier (Generating Tree View Nodes from XML file in Silverlight 3 Application) gezeigt wird, funktioniert es nur bedingt, da ich nicht weiß, wann/wie/wo ich nach Link und nach Ordner unterscheiden kann...
Für jegliche Hilfe wäre ich sehr dankbar
Sollte eine andere Struktur der XML-Datei/C#-Klasse o.ä. cleverer sein, immer her mit Eurem Input
Vielen Dank!
MfG!
in unserem Silverlight-Projekt nutzen wir Frames und Pages zur Darstellung der Seiten. Die Auflistung der vorhandenen Seiten soll nun in einem TreeView-Element erfolgen, welche mittels einer XML-Datei gespeist wird.
Die XML-Datei soll dabei "Unterordner" berücksichtigen, welche entsprechend im TreeView dargestellt werden sollen. Sie hat folgende Struktur:
Code:
<?xml version="1.0" encoding="utf-8" ?>
<tree>
<folder label="Folder 1.0">
<link label="Link 1.1" url="test1"/>
<link label="Link 1.2" url="test2"/>
<link label="Link 1.3" url="test3"/>
</folder>
<link labe="link 2.0" url="test4"/>
<folder label="Folder 3.0">
<link label="link 3.1" url="test5"/>
<folder label="Folder 3.2">
<link label="link 3.2.1" url="test6"/>
<link label="link 3.2.2" url="test7"/>
</folder>
</folder>
</tree>
Dazu wurde eine C#-Klasse `NavigationItem` erstellt:
Code:
public class NavigationItem
{
public string Label { get; set; }
public Uri Url { get; set; }
public List<NavigationItem> SubNavigationItem { get; set; }
}
Das Ergebnis soll im XAML später folgendem Code entsprechen:
Code:
<sdk:TreeView x:Name="NavigationTree" BorderThickness="0" Margin="0,5,0,0">
<sdk:TreeViewItem Header="Folder 1.0">
<HyperlinkButton NavigateUri="test1">Link 1.1</HyperlinkButton>
<HyperlinkButton NavigateUri="test2">Link 1.2</HyperlinkButton>
<HyperlinkButton NavigateUri="test3">Link 1.3</HyperlinkButton>
</sdk:TreeViewItem>
<HyperlinkButton NavigateUri="test4">Link 2.0</HyperlinkButton>
<sdk:TreeViewItem Header="Folder 3.0">
<HyperlinkButton NavigateUri="test5">Link 3.1</HyperlinkButton>
<sdk:TreeViewItem Header="Folder 3.2">
<HyperlinkButton NavigateUri="test6">Link 3.2.1</HyperlinkButton>
<HyperlinkButton NavigateUri="test7">Link 3.2.2</HyperlinkButton>
</sdk:TreeViewItem>
</sdk:TreeViewItem>
</sdk:TreeView>
Leider bekomme ich es nicht hin, die XML-Datei im TreeView so abzubilden.

Wenn ich es nach der Methode versuche, welche hier (Generating Tree View Nodes from XML file in Silverlight 3 Application) gezeigt wird, funktioniert es nur bedingt, da ich nicht weiß, wann/wie/wo ich nach Link und nach Ordner unterscheiden kann...
Für jegliche Hilfe wäre ich sehr dankbar

Sollte eine andere Struktur der XML-Datei/C#-Klasse o.ä. cleverer sein, immer her mit Eurem Input

MfG!