TreeView заполнен XML-файлом следующим образом:
<Window.Resources>
<XmlDataProvider x:Key="xdpMusicLibrary" Source="MusicLibrary.xml" XPath="LIBRARY" />
<HierarchicalDataTemplate x:Key="hdtTrack">
<!-- From ... <TRACK><TITLE>Track Title</TITLE> ... -->
<TextBlock Text="{Binding XPath=TITLE/text()}" />
</HierarchicalDataTemplate>
<HierarchicalDataTemplate x:Key="hdtAlbum"
ItemTemplate="{StaticResource hdtTrack}"
ItemsSource="{Binding XPath=TRACK}">
<!-- From ... <ALBUM><TITLE>Album Title</TITLE> ... -->
<TextBlock Text="{Binding XPath=TITLE/text()}" />
</HierarchicalDataTemplate>
<HierarchicalDataTemplate x:Key="hdtArtist"
ItemTemplate="{StaticResource hdtAlbum}"
ItemsSource="{Binding XPath=ALBUM}">
<!-- From ... <ARTIST><NAME>Artist Name</NAME> ... -->
<TextBlock Text="{Binding XPath=NAME/text()}" />
</HierarchicalDataTemplate>
</Window.Resources>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<TreeView Grid.Column="0" Name="tvMusicLibrary"
ItemsSource="{Binding Source={StaticResource xdpMusicLibrary}, XPath=ARTIST}"
ItemTemplate="{StaticResource hdtArtist}" />
Я бы хотел, чтобы DataGrid отображал узел, выбранный в TreeView (например, если я выбрал исполнителя, DataGrid будет заполненс каждой песней в каждом альбоме ниже этого исполнителя в дереве, со столбцами: номер дорожки, название дорожки, исполнитель, альбом
XML имеет структуру:
<LIBRARY>
<ARTIST>
<NAME>Artist1</NAME>
<ALBUM>
<TITLE>Album1</TITLE>
<TRACK>
<NUMBER>01</NUMBER>
<TITLE>Track1</TITLE>
</TRACK>
</ALBUM>
</ARTIST>
</LIBRARY>
Возможно ли этотолько в XAML?