У меня есть классСвязывание вложенных данных
public class MyData
{
public string Caption { get; set; }
public List<Data1> ListData1 {get; set;}
}
public class Data1
{
public string FirstName { get; set; }
public List<Data2> ListData2 { get; set; }
}
public class Data2
{
public string LastName { get; set; }
}
данные должны быть отображены в виде
Я делаю так - чтобы связать MyData ListBox заполненный данными. Для него, указывая DataTemplate, довести код
<!-- MyData -->
<Grid Grid.Column="0">
<Grid.RowDefinitions>
<RowDefinition />
</Grid.RowDefinitions>
<TextBlock Grid.Row="0" Text="{Binding Caption}" />
</Grid>
<!-- Data1 -->
<ListBox
Grid.Column="1"
DisplayMemberPath = "FirstName"
ItemsSource="{Binding ListData1 }" />
<!-- -->
<!-- Data2 -->
<ListBox x:Name="lbData2"
Grid.Column="2"
DisplayMemberPath = "LastName"
ItemsSource="{Binding ????}" />
</Grid>
</DataTemplate>
Как сделать Binding для lbData2? Параметр ListData1.ListData2 не работает.
Пожалуйста, просмотрите этот [вопрос] (http://stackoverflow.com/questions/10919262/populate-wpf-listbox-based-on-selection-of-another-listbox) (и его ответ). Я думаю, что это может вам помочь. – HuorSwords
Вы проверили HierarchicalDataTemplate: http://msdn.microsoft.com/de-de/library/system.windows.hierarchicaldatatemplate.aspx ?? – blindmeis