如何打印包含该列表中所有类对象的列表?
List<Reader> MyObjectList = new List<Reader>();
private void button2_Click(object sender, EventArgs e)
{
Reader reader = new Reader();
reader._surname = Convert.ToString(textBox1.Text);
reader._id = Convert.ToInt32(textBox2.Text);
MyObjectList.Add(reader);
MessageBox.Show("new reader");
}
我想打印所有_surname和_id我添加,点击按钮。
private void button3_Click(object sender, EventArgs e)
{
listBox1.DataSource = MyObjectList;
}
如果我这样做,我的结果是:OBJ6.MyObjectList。
PS。 OBJ6 - 我的项目名称。如何使用按钮单击打印该类中的所有对象?
答案 0 :(得分:0)
您必须在ListBox中设置ItemTemplate。
<ListBox>
<ListBox.ItemTemplate>
<DataTemplate>
<WrapPanel>
<TextBlock Text="Surname: " />
<TextBlock Text="{Binding _surname}" FontWeight="Bold" />
<TextBlock Text=", " />
<TextBlock Text="Id: " />
<TextBlock Text="{Binding _id}" FontWeight="Bold" />
</WrapPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
此外,请阅读binding ObservableLists as items source,以便您不需要按钮来刷新列表。
答案 1 :(得分:0)
List<T>
没有覆盖ToString
,这就是为什么你会看到它的类型名称OBJ6.MyObjectList
而不是所需的&#34;所有的姓氏和id&#39; s&#34;。
您可以使用:
private void button3_Click(object sender, EventArgs e)
{
string whatYouWant = String.Join(
Environment.NewLine, // change this to the desired delimiter
MyObjectList.Select(r => $"{r._surname} {r._id}")); // change format here
// ...
}