У меня есть ItemsControl, в котором есть другой ItemsControl.
это означает, что для каждого элемента в родительском списке я хочу показать все элементы в дочернем списке.
так что Xaml примерно такой (я пренебрегаю некоторыми из DataTemplate)
<ItemsControl x:Name="dayPanel" Grid.Column="1">
<ItemsControl.ItemTemplate>
<DataTemplate>
<Grid>
<ItemsControl x:Name="dayHours" Grid.Row="1" ItemsSource={Binding HourItems}">
<ItemsControl.ItemTemplate>
<DataTemplate>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</Grid>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
Теперь в коде позади я создаю класс, который создает список дней, и каждый день содержит список часов.
так что я получаю что-то вроде этого:
public WeekPanel()
{
InitializeComponent();
dayPanel.ItemsSource = new Dayx().CreateDays();
}
Итак ... первая часть, которую я определяю в коде, работает нормально.
но дочерний ItemsControl не заполняется.
Я хочу связать это с собственностью: HourItems
как мне это сделать?
Edit:
Хорошо, проблема была в том, что свойство HourItems было определено как:
Public List<Hour> HourItem {get; set;}
но это сработало, когда я изменил его на:
public List<Hour> HourItems
{
get { return hourItems; }
set { hourItems = value; }
}
Какая разница, что заставило его работать?