gpt4 book ai didi

c# - 将单独的列表绑定(bind)到一个列表框中

转载 作者:行者123 更新时间:2023-12-03 10:37:19 26 4
gpt4 key购买 nike

我想将我的列表框与从 json Web 服务获得的单独列表数据绑定(bind),所以它看起来像这样:

public List<Phone> phone { get; set; }
public List<Fax> fax { get; set; }
public List<Email> email { get; set; }
public List<Website> website { get; set; }

我想将所有列表绑定(bind)到一个列表框中,所以我的列表框将在一个项目中包含电话、传真、电子邮件和网站......怎么做?

编辑:我想到的格式示例

phone: +04532534534

fax : +5234523453

email : user@user.com

website : www.user.com



编辑:到目前为止,我的方法是将单独的列表放入单独的属性到我的主视图模型中
RootObjectDetail result = JsonConvert.DeserializeObject<RootObjectDetail>(e.Result);
if (result.contacts.email != null)
hereRestEmail = new ObservableCollection<Email>(result.contacts.email);
if (result.contacts.phone != null)
hereRestPhone = new ObservableCollection<Phone>(result.contacts.phone);
if (result.media.reviews.items != null)
hereRestReview = new ObservableCollection<ItemReview>(result.media.reviews.items);
if (result.media.images.items != null)
hereRestImage = new ObservableCollection<ItemImage>(result.media.images.items);

但我只是不知道如何将它绑定(bind)到我的列表框数据上下文中,因为我只能绑定(bind)其中一个属性
 <telerikPrimitives:RadDataBoundListBox
x:Name="ContactListBox"
ItemsSource="{Binding hereRestPhone}">
<telerikPrimitives:RadDataBoundListBox.ItemTemplate>
<DataTemplate>

<TextBlock Text="{Binding LocalizedResources.phone,
Mode=OneWay, Source={StaticResource LocalizedStrings}}"
Style="{StaticResource PhoneTextLargeStyle}"/>
<TextBlock Grid.Column="1" Text="{Binding value}"
Style="{StaticResource PhoneTextLargeStyle}" />

</DataTemplate>
</telerikPrimitives:RadDataBoundListBox.ItemTemplate>

它只能显示电话,我仍然不知道如何将传真,电子邮件和网站绑定(bind)到这个列表框

最佳答案

在不知道您的类(class)内部是什么样子的情况下,我只能猜测:

 var allValues =
phone.Select(x => new { Type = "phone", Value = x.PhoneNumber })
.Concat(fax.Select(x => new { Type = "fax", Value = x.FaxNumber }))
.Concat(email.Select(x => new { Type = "email", Value = x.EmailAddr }))
.Concat(website.Select(x => new { Type = "website", Value = x.URL }))
.ToList();

您最终会得到一个带有“类型”和“值”的列表(匿名类型)。

我还没有对此进行测试,但是您应该能够在 XAML 中设置模板,绑定(bind)到“类型”和“值”,并让它们像您在上面指出的那样显示。

关于c# - 将单独的列表绑定(bind)到一个列表框中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21371720/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com