大家好,我有一个Json
public class Contact
{
public string contact_name_given { get; set; }
public string contact_name_middle { get; set; }
public string contact_name_family { get; set; }
public List<object> contact_phones { get; set; }
public List<object> contact_addresses { get; set; }
public List<object> contact_notes { get; set; }
public string contact_dialer { get; set; }
}
public class RootObject
{
public string user_uuid { get; set; }
public string add_date { get; set; }
public List<Contact> contact { get; set; }
}
我需要绑定到列表框:“contact_name_given”,“contact_name_family”和“contact_phones”。我试着这样做:
List<RootObject> des = DeserializeFromJson<List<RootObject>>(result);
for (int i =0; i< des.Count; i++)
PhoneList.ItemsSource = des[i].contact;
但这只显示了最后一个联系人姓名,如何显示ListBox中的所有联系人? 感谢所有
答案 0 :(得分:0)
您应该做的是以下内容。
在主列表框的DataTemplate中,您应该再添加3个列表框以显示您的信息,因为您要绑定的属性是List。
<ListBox Name=“box”>
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel>
<Listbox ItemSource = {Binding first_property_name_goes_here} >
<Listbox.ItemTemplate>
<DataTemplate>
<StackPanel>
</StackPanel>
</DataTemplate>
</Listbox.ItemTemplate>
</Listbox>
<Listbox ItemSource = {Binding second_property_name_goes_here} >
<Listbox.ItemTemplate>
<DataTemplate>
<StackPanel>
</StackPanel>
</DataTemplate>
</Listbox.ItemTemplate>
</Listbox>
<Listbox ItemSource = {Binding third_property_name_goes_here} >
<Listbox.ItemTemplate>
<DataTemplate>
<StackPanel>
</StackPanel>
</DataTemplate>
</Listbox.ItemTemplate>
</Listbox>
</StackPanel>
</DateTemplate>
</ListBox.ItemTemplate>
</Listbox
对于每个嵌套列表框,您将定义您希望项目显示方式的数据模板,当然,在每个数据模板中,您将绑定列表中类的属性