Listview xamarin表单:如果当前绑定值为空或null,如何绑定另一个值?

Listview xamarin表单:如果当前绑定值为空或null,如何绑定另一个值?,listview,xamarin.forms,binding,Listview,Xamarin.forms,Binding,我有一个json响应,如下所示: { "usersList": [ { "fullname": "Sreejith", "email": null, "phone": null }, { "fullname": "", "email": "sample@gmail.com", "phone": null }, {

我有一个json响应,如下所示:

 {    
 "usersList": [
    {
        "fullname": "Sreejith",
             "email": null,
        "phone": null
     },
     {
        "fullname": "",
             "email": "sample@gmail.com",
        "phone": null
     },
     {
       "fullname": "",
             "email": null,
        "phone": "8956231245"
     },
 ]
}
    <Label 
        Text="{Binding fullname}"
        Font="Bold,17" 
        TextColor="#676767"
        HorizontalOptions="Start" 
        VerticalOptions="Center"/>
目前,我正在绑定全名值,如下所示:

 {    
 "usersList": [
    {
        "fullname": "Sreejith",
             "email": null,
        "phone": null
     },
     {
        "fullname": "",
             "email": "sample@gmail.com",
        "phone": null
     },
     {
       "fullname": "",
             "email": null,
        "phone": "8956231245"
     },
 ]
}
    <Label 
        Text="{Binding fullname}"
        Font="Bold,17" 
        TextColor="#676767"
        HorizontalOptions="Start" 
        VerticalOptions="Center"/>

这个方法有效吗?

你的答案在于你的问题本身,实际上这就是你如何做到的

   public string NameToVisualize
    {
        get
        {
            if (!string.IsNullOrEmpty(Fullname) && !string.IsNullOrWhiteSpace(Fullname))
                return Fullname;
            else if (!string.IsNullOrEmpty(Email) && !string.IsNullOrWhiteSpace(Email)) return Email;
            else if (!string.IsNullOrEmpty(Phone) && !string.IsNullOrWhiteSpace(Phone)) return Phone;
            else return string.Empty;
        }
    }

在实体类中创建一个新的属性DisplayName怎么样?我认为它是这里的User,并且只使用getter。此属性将根据您的首选项返回名称值。此解决方案的问题是,它仅用于从源到目标的单向绑定。@YY您使用新的属性代码编辑了此问题,是否可以检查您是否阅读了错误?它说并不是所有的代码路径都返回一个值。如果fullname、email和phone1为空,则不返回任何内容。对于此案例,您需要另一个return语句。此外,您的全名不是空的,它是一个空字符串。