2013-04-13 57 views
0

我在用不同类中存储的信息填充列表框时遇到了问题。这个类被称为TeacherTools,这是许多方法用来控制该列表中的学生对象的地方。在不同的类中访问列表

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

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); 
     } 
    } 
} 

谢谢您的时间

+0

如何'MainWindow'和'TeacherTools'有关? –

+0

无论如何,他们都是独立的窗口,如果这就是你的意思。 – Melky

+1

“不确定”?我会建议[实例化类]的基本教程(http://csharp.net-tutorials.com/reflection/instantiating-a-class/)。 –

回答

2

我想你想要做的是显示在列表框中的学生名字的..

studentsList.DataSource = teachTool.Kids; 
studentsList.DisplayMember = "Name"; 

这里有一个较长的例子 http://msdn.microsoft.com/en-GB/library/system.windows.forms.listcontrol.displaymember.aspx

编辑:这样做会给学生类别带来更多的自由控制 Edit2:abo已经是的WinForms ... ItemSourceDisplayMemberPath似乎WPF当量

DisplayMemberPath ItemSource

+0

不幸的是我相信这是一个.Net4.5功能,我目前无法访问,因为我使用的是4.0。目前,网络的局限性限制了这个框架的安装。 – Melky

+0

@Melky自1.1以来一直存在 - (这是一个下拉链接的不同版本,但都做同样的事情) – Sayse

+0

它必须在不同的名称下导致它不在我的列表中唯一关闭的是ItemsSource。 – Melky