Wenn Sie die Details inline in der Tabelle angezeigt werden soll, @AnsonWoody die Antwort geschrieben. Wenn Sie die Details außerhalb in einer separaten Steuerung anzeigen möchten, verwenden Sie SelectedItem
der DateGrid
oder CurrentItem
der CollectionViewSource
.
Ihre Datacontext Unter der Annahme, die Elemente in ClassesWithStudents
enthält und jedes Element hat eine Eigenschaft Students
, könnten Sie wie folgt vorgehen:
<StackPanel x:Name="panel1">
<StackPanel.Resources>
<CollectionViewSource x:Key="classesCollection" Source="{Binding ClassesWithStudents}"/>
</StackPanel.Resources>
<DataGrid x:Name="dg1" ItemsSource="{Binding Source={StaticResource classesCollection}}">
</DataGrid>
<!-- Bind current item with path=/ -->
<ContentControl Content="{Binding Source={StaticResource classesCollection},Path=/Students}"/>
<!-- Bind selected item -->
<ContentControl Content="{Binding ElementName=dg1,Path=SelectedItem.Students}"/>
</StackPanel>
Ofcourse der ContentControl
ist nur ein Platzhalter. Wenn Students
eine Sammlung ist, verwenden Sie etwas wie <ItemsControl ItemsSource="{Binding Source={StaticResource classesCollection},Path=/Students}"/>
oder was auch immer Ihren Anforderungen entspricht, um eine gut aussehende Schülervertretung zu erhalten.
Sie finden grundlegende Informationen zum Thema auf https://www.wpftutorial.net/DataGrid.html, unter dem Abschnitt "Row Details" – hypnos