Listview xamarin表单:如果当前绑定值为空或null,如何绑定另一个值?
我有一个json响应,如下所示: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 }, {
{
"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语句。此外,您的全名不是空的,它是一个空字符串。