Изучение WPF здесь, и я пытаюсь привлечь внимание к привязке иерархических данных.Как добиться привязки иерархических данных?
Это моя ситуация:
public class A
{
public int Id { ... }
public IEnumerable<B> Children { ... }
}
public class B
{
public string SomeValue { ... }
}
Я хочу использовать ItemsControl
для отображения коллекции A
и для каждого из A
вхождения Я хочу, чтобы внутренний ItemsControl
для отображения A.Children
.
Я думал, что это будет делать трюк, но, судя по всему, у меня есть много, чтобы узнать еще ...
<ItemsControl x:Name="icCollectionOfAs" ItemsSource="{Binding}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal" />
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<Grid Width="auto" Height="auto">
<TextBlock Text="{Binding Id}" />
<ItemsControl ItemsSource="{Binding Children}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding SomeValue}" />
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</Grid>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
Затем в коде-за ...
icCollectionOfAs.ItemsSource = createSomeAsWithChildBsInThem();
Результат все это ничего не показывает. Зачем?
Благодаря
Вы устанавливаете это до или после первого экрана? 'icCollectionOfAs.ItemsSource = createSomeAsWithChildBsInThem();' –