C# 访问不同类中的列表
我无法用存储在不同类中的信息填充列表框。该类称为TeacherTools,在该类中使用许多方法来控制该列表中的student对象 我试图做的基本上是将学生的名字添加到列表中,但我不确定语法C# 访问不同类中的列表,c#,wpf,listbox,C#,Wpf,Listbox,我无法用存储在不同类中的信息填充列表框。该类称为TeacherTools,在该类中使用许多方法来控制该列表中的student对象 我试图做的基本上是将学生的名字添加到列表中,但我不确定语法 public partial class TeacherTools : Window { private List<Student> studentList = new List<Student>(); public List<Student> Kids
public partial class TeacherTools : Window
{
private List<Student> studentList = new List<Student>();
public List<Student> Kids
{
get { return studentList; }
set { studentList = value; }
}
}
public partial class MainWindow : Window
{
private void beginTest(object sender, RoutedEventArgs e)
{
foreach (Student s in Kids) //Unsure here
{
studentsList.Items.Add(s.Name);
}
}
}
公共部分类教师工具:窗口
{
私有列表studentList=新列表();
公开儿童名单
{
获取{return studentList;}
设置{studentList=value;}
}
}
公共部分类主窗口:窗口
{
private void beginTest(对象发送方,RoutedEventTarget e)
{
foreach(孩子们的学生)//这里不确定
{
学生名单。项目。添加(s.Name);
}
}
}
感谢您抽出时间我想您要做的是在列表框中显示学生姓名
studentsList.DataSource = teachTool.Kids;
studentsList.DisplayMember = "Name";
这里有一个较长的示例
编辑:这样做将给予学生更多的课堂控制自由
编辑2:以上是winforms的ItemSource
和DisplayMemberPath
似乎是wpf的等价物
主窗口
和教学工具如何关联?它们都是单独的窗口,如果这是您的意思,“不确定”吗?我建议给你一个基本的教程。因为Student
是你的模型对象。因此,理想情况下,它应该位于两个窗口对象都可以访问的地方,可能是一个常见的ViewModel
。您的代码不明确,您需要TeacherTools类的实例。遗憾的是,我认为这是一个.Net4.5功能,由于我使用的是4.0,我目前无法访问。网络的局限性暂时限制了此框架的安装。@Melky它从1.1开始就存在了(不同版本的链接中有一个下拉列表,但所有版本都有相同的功能),它必须使用不同的名称,因为它不在我的列表中唯一关闭的是ItemsSource。@Melky-appologies,我的示例是winforms,根据msdn,itemsource似乎与DisplayMemberPath等效