Hi, ItemsSource of DataGrid (in RowDetailsTemplate) needs collection (e.g. list). Change your code:
private void Page_Loaded(object sender, RoutedEventArgs e)
{
List<Student> myStudents = new List<Student>();
Marks JohnMark = new Marks();
JohnMark.English = 75;
JohnMark.Maths = 85;
JohnMark.Science = 95;
Marks RichardMark = new Marks();
RichardMark.English = 70;
RichardMark.Maths = 80;
RichardMark.Science = 90;
Marks SamMark = new Marks();
SamMark.English = 72;
SamMark.Maths = 82;
SamMark.Science = 92;
Student stud = new Student() { Id = 1, Name = "John Doe", Birthday = new DateTime(1971, 7, 23) };
stud.myMarks.Add(JohnMark);
myStudents.Add(stud);
stud = new Student() { Id = 2, Name = "Richard Doe", Birthday = new DateTime(1974, 1, 17) };
stud.myMarks.Add(RichardMark);
myStudents.Add(stud);
stud = new Student() { Id = 3, Name = "Sammy Doe", Birthday = new DateTime(1991, 9, 2) };
stud.myMarks.Add(SamMark);
myStudents.Add(stud);
DG_myStudents.ItemsSource = myStudents;
}
public class Student
{
public int Id { get; set; }
public string Name { get; set; }
public DateTime Birthday { get; set; }
public List<Marks> myMarks { get; set; } = new List<Marks>();
}