C# 访问不同类中的列表

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

我无法用存储在不同类中的信息填充列表框。该类称为TeacherTools,在该类中使用许多方法来控制该列表中的student对象

我试图做的基本上是将学生的名字添加到列表中,但我不确定语法

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等效