xamarin形式:如果当前绑定值为空或null,如何绑定另一个值?

时间:2018-09-21 03:21:13

标签: listview xamarin.forms binding

我有一个如下的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"/>

但是在某些情况下,全名值为空,因此在这种情况下,我想将电子邮件值设置为label,同样,如果email为null,则需要设置电话值。首先是全名,然后是电子邮件,最后是电话。

我创建了一个如下所示的新属性,但在获取get时出错:错误并非所有代码路径都返回一个值。

 public string NameToVisualize { get { if (fullname != null) return fullname;
            else if (email != null) return email;
            else if (phone1 != null) return phone1;  } }

此方法有效吗?

1 个答案:

答案 0 :(得分:1)

您的答案就在于您自己的问题,实际上这就是您的解决方法

   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;
        }
    }