【发布时间】:2025-12-22 21:00:10
【问题描述】:
如何将嵌套类中的数据绑定到嵌套数据网格?为什么嵌套数据网格无法读取类?我在做什么错误?
public class Student
{
public int Id { get; set; }
public string Name { get; set; }
public DateTime Birthday { get; set; }
public Marks myMarks { get; set; }
}
public class Marks
{
public double English { get; set; }
public double Maths { get; set; }
public double Science { get; set; }
}
主数据网格的项目源
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;
myStudents.Add(new Student() { Id = 1, Name = "John Doe", Birthday = new DateTime(1971, 7, 23), myMarks = JohnMark });
myStudents.Add(new Student() { Id = 2, Name = "Richard Doe", Birthday = new DateTime(1974, 1, 17), myMarks = RichardMark });
myStudents.Add(new Student() { Id = 3, Name = "Sammy Doe", Birthday = new DateTime(1991, 9, 2), myMarks = SamMark });
DG_myStudents.ItemsSource = myStudents;
}
下面是我的 XAML 代码,我在类结构中是否有任何错误?请帮帮我。
<DataGrid x:Name="DG_myStudents" RowDetailsVisibilityMode="Visible">
<DataGrid.RowDetailsTemplate>
<DataTemplate>
<DataGrid x:Name="DG_myMarks" ItemsSource="{Binding myMarks}" />
</DataTemplate>
</DataGrid.RowDetailsTemplate>
</DataGrid>
【问题讨论】:
-
你得到什么结果?
-
您的输出窗口中是否记录了任何绑定错误?
-
没什么,嵌套的数据网格“DG_myMarks”没有显示任何数据。当我将“myMarks”绑定到标签以查看那里发生的任何事情时,标签会显示“标记类名称”,例如“MyNameSpace.myPage+Marks”。
标签: c# wpf data-binding datagrid rowdetails