If you asking for DataGrid, I don't know too much about it.
Do you meant when user select a parent record in one ListView(A), all child records is shown in another ListView(B)?
If so, you have to create a ViewModel that represent the parents, which have ChildRecords properties that link to child records, and let (B) bind to (A)'s ChildRecords.
Or you want to show in the same ListView?
If so, in addition to the viewmodel, you have to change ListView's ItemContainerStyle:
<Page
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Grid>
<ListView>
<ListView.ItemContainerStyle>
<Style TargetType="ListBoxItem">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ListBoxItem">
<StackPanel>
<ContentPresenter />
<ListBox Name="Childs" Visibility="Collapsed">
<TextBlock Text="Child1" />
<TextBlock Text="Child2" />
<TextBlock Text="Child3" />
</ListBox>
</StackPanel>
<ControlTemplate.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter TargetName="Childs" Property="Visibility" Value="Visible" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</ListView.ItemContainerStyle>
<TextBlock Text="1" />
<TextBlock Text="2" />
<TextBlock Text="3" />
</ListView>
</Grid>
</Page>
Regards
Joseph Leung