/ / Zagnieżdżone wiązanie z szablonami - c #, wpf, wiązanie danych

Zagnieżdżone powiązanie z szablonami - c #, wpf, binding danych


Tworzę zakładkę „Lekcje” w mojej aplikacji. Problem polega na wyświetlaniu danych.

Rozkład jazdy(List<DayInfo>) jest powiązany z ItemsControl. Każdy DayInfo jest elementem w tym ItemsControl. Próbowałem się związać Exams kolekcja zagnieżdżona ItemsControl umieszczona w ItemTemplate, ale nie działa.

Chciałbym wiedzieć, co robię źle. Chyba mój Exams wiązanie jest problemem.

Rozkład jazdy:

private List<DayInfo> timetable;
public List<DayInfo> Timetable
{
get { return timetable; }
set
{
timetable = value;
NotifyOfPropertyChange(() => Timetable);
}
}

Jest DayInfo.cs:

public class DayInfo : IValue
{
public string DayName { get; }
public List<ExamEntry> Exams { get; }
...
}

ExamEntry.cs:

public class ExamEntry : DayEntry, IValue
{
public string Description { get; }
...
}

Kod XAML:

<ItemsControl
ItemsSource="{Binding Timetable}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel
Orientation="Horizontal" />
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.GroupStyle>
<GroupStyle>
<GroupStyle.HeaderTemplate>
...
</GroupStyle.HeaderTemplate>
<GroupStyle.Panel>
<ItemsPanelTemplate>
<StackPanel
Orientation="Horizontal"
Margin="0">
</StackPanel>
</ItemsPanelTemplate>
</GroupStyle.Panel>
</GroupStyle>
</ItemsControl.GroupStyle>
<ItemsControl.ItemTemplate>
<DataTemplate>
<StackPanel>
<Label
Content="{Binding DayName}" /> <!-- It still works -->
<ItemsControl
ItemsSource="{Binding Exams}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<Label
Content="{Binding Description}" /> <!-- It"s not displayed -->
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</StackPanel>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>

Odpowiedzi:

0 dla odpowiedzi № 1

Wszystko jest w porządku z tym fragmentem kodu. Zapomniałem o innej części projektu, w której Harmonogram był podsłuchiwany. Przepraszamy za zamieszanie.