我一直在尝试使用我在 ListBox 中的 Model.Person 的 List<>,使用 ItemTemplate 作为样式,然后在选择了一个时从列表中检索正确的 Model.Person。我到处寻找示例代码(并尝试了领先的数据绑定,但仍然无法正确理解它)。
List<Model.Person> people = (comes from IsolatedStorageSettings)
在一个页面上,我有一个 ListBox,比如说名为“List”。
<ListBox Name="List"></ListBox>
在我的 C# 代码中,我从隔离存储中提取了一个列表。理想情况下,我想做的是让该列表中的所有人以一种格式良好的方式出现在 ListBox 中,然后在选择一个时,轻松地从 List<> 中检索 Person。我现在正在做的,肯定是错的是:
foreach (Model.Person person in people)
{
List.Items.Add(person.firstName + " " + person.lastName);
}
然后,选择项目时,我发现使用此方法的人:
string selectedPerson = List.SelectedItem.ToString();
Model.Person person = people.Where(X => X.firstName + " " + X.lastName == selectedPerson).FirstOrDefault();
显然,项目中的列表仅显示为纯文本,而不是使用 ItemTemplate 创建的有趣对象。有人可以告诉我我做错了什么,或者为我指出实现这一目标的好资源的方向吗?
非常感谢!