如果我使用以下代码来显示ListBox
中的对象,如何在TextBlock
中显示它?TextBlock显示对象列表
listStudents.Items.Clear();
foreach (Student sRef in StudentList)
{
listStudents.Items.Add(sRef);
}
如果我使用以下代码来显示ListBox
中的对象,如何在TextBlock
中显示它?TextBlock显示对象列表
listStudents.Items.Clear();
foreach (Student sRef in StudentList)
{
listStudents.Items.Add(sRef);
}
,你可以追加到TextBlock
的Text
属性:
foreach (Student sRef in StudentList)
{
textBlock1.Text += sRef.Firstname + " " sRef.Lastname + Environment.NewLine;
}
但是您可能想定义一个定义每个对象在视图中的外观的ItemTemplate
:
<ListBox x:Name="listStudents">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding Firstname}" />
<TextBlock Text="{Binding Lastname}" Margin="2 0 0 0" />
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
listStudent.Items.Clear();
foreach (Student sRef in StudentList)
{
listSubjects.Items.Add(sRef.firstname + " " + sRef.lastname);
}
如果你只想显示没有选择和其他ListBox
功能对象的列表,这是方便使用ItemsControl
- 它有ItemTemplate
属性来控制每个项目和其他有用的东西的外观(实际上,ListBox
继承ItemsControl
)。只需使用ItemsControl
型itemsStudent
变量,并使用相同的代码:如果你想在一个TextBlock
显示学生的几行
itemsStudent.Items.Clear();
foreach (Student sRef in StudentList)
{
itemsStudent.Items.Add(sRef);
}
更改ListBox上的数据模板 – kurakura88