[英]Unable to bind JSON Array to ListBox in c# Windows Phone 8.1
大家好,我有一个杰森
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;
但这仅显示了我的最后一个联系人姓名,如何显示列表框中的所有联系人? 谢谢大家
您应该执行以下操作。
在主列表框的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
对于每个嵌套的列表框,您将定义希望项目显示方式的数据模板,当然,在每个数据模板中,您将绑定列表中类的属性
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.