我有一个Xamarin.Forms应用程序,它调用后端。后端提供项目列表。这些项目都有一个类型和描述。根据类型,我需要决定我需要创建什么视图元素(条目、标签、选择器、复选框等(。此外,描述可能应该是一个标签,每个视图都有自己的描述。
我怎样才能做到这一点?我真的很难弄清楚。。
示例:后端提供了一个包含两个对象的列表。第一个对象有一个phonenumer类型,第二个元素有一个boolean类型。第一个应该只创建一个条目,第二个应该创建一个选择器。两个行/视图都应该有一个描述,可以只是一个标签。
您可以使用可绑定布局(https://learn.microsoft.com/en-us/xamarin/xamarin-forms/user-interface/layouts/bindable-layouts)带有DataTemplateSelector(https://learn.microsoft.com/en-us/xamarin/xamarin-forms/app-fundamentals/templates/data-templates/selector)它根据您接收的对象的类型提供相应的DataTemplate。
在每个DataTemplate的XAML上,您可以执行绑定(https://learn.microsoft.com/en-us/xamarin/xamarin-forms/xaml/xaml-basics/data-binding-basics)
通过这种方式,您不必在代码后面编写任何内容,也不必在任何内容上循环,因为Bindable Layout将为您执行此操作,并根据它接收到的对象来决定显示什么。