JSON数据未显示在我的listview xamarin表单上

JSON数据未显示在我的listview xamarin表单上,listview,xamarin,xamarin.forms,Listview,Xamarin,Xamarin.forms,正在尝试仅显示我的列表中的2项。我无法获取它们。http进程正在获取数据,但我无法在列表中显示它们 公共类服务类型 { 公共字符串名称{get;set;} 公共字符串说明{get;set;} } 公共列表GetRequestTypes() { var list=新列表() { 名单.姓名; 清单.说明; }; 退货清单; } xaml 属性ItemsSource应该有一个要显示的对象列表。最好是可观察的集合,这样集合中的更改会反映在列表视图中 在代码隐藏中创建属性: publicobserva

正在尝试仅显示我的列表中的2项。我无法获取它们。http进程正在获取数据,但我无法在列表中显示它们

公共类服务类型
{
公共字符串名称{get;set;}
公共字符串说明{get;set;}
}
公共列表GetRequestTypes()
{
var list=新列表()
{
名单.姓名;
清单.说明;
};
退货清单;
}
xaml


属性
ItemsSource
应该有一个要显示的对象列表。最好是
可观察的集合
,这样集合中的更改会反映在
列表视图中

在代码隐藏中创建属性:

publicobservableCollection MyList{get;set;}

并将其设置在某个位置,如在构造函数中:

public void MyPage()
{
    MyList = new ObservableColletion<ServiceRequestType>();
    MyList.Add(new ServiceRequestType { Name = "Foo" });
    MyList.Add(new ServiceRequestType { Name = "Bar" });

    // I'm setting it to this class, but this could be any class, preferably a ViewModel class
    BindingContext = this;
}
注意,我还包括了一个
ItemTemplate
。使用此选项,您可以在
列表视图中指定单元格的外观。您还应该注意到,
Name
属性已移动到那里

这意味着最高级别的
ListView
BindingContext
中获取属性,在
ListView
中指定
ListView
,单元格具有不同的范围,即它在
ItemsSource
中指定的对象类型的范围,在我们的例子中,您可以使用一个
observateCollection
,从单元格中的这些类型访问属性


TextCell
只是一个例子,有或者您可以自己编写。

ItemsSource需要是一个IEnumerable-您只是将其绑定到单个字符串属性。并且您的ListView没有模板。我真的建议你花几分钟来查看ListView文档。正如@Jason所说,你只设置了一个字符串,你必须设置IEnumerable,如果你设置了一个简单的字符串列表,你不需要项目模板,但是如果你有一个对象列表,你必须为单元格创建一个模板,并为每个控件设置属性。因此,我更改了此选项。////public List GetServiceRequestTypes(){var List=new List(){ServiceRequestType.Name;ServiceRequestType.Description;};return List;}///xaml///xaml文件看起来像…///您发布的代码没有生成,并且您在注释中的更新不清楚(并且也是无效的c#代码)。尝试在编辑问题时发布最新版本的有效可构建代码。我很高兴!如果有帮助,请接受答案!我进行了绑定并添加了数据模板。但我仍然无法在页面上显示它。我想的是我的viewmodel还有一些问题。因为我可以看到页面标题,但列表仍然没有显示选择列表RequestTypesListHeaders=新列表{“水”、“维护”、“ing”、“Cont”、“zard”、“Actty”,};public RequestTypesView(){InitializeComponent();RequestTypes.ItemsSource=RequestTypesHeaders;}如果我硬编码它将显示的列表,但想法是从rest获取数据。我将向您展示我是如何获取数据的。公共类ListTypes{public string Id{get;set;}公共字符串名称{get;set;}公共字符串描述{get;set;}
<ListView ItemsSource="{Binding MyList}">
    <ListView.ItemTemplate>
        <DataTemplate>
            <TextCell Text = "{Binding Name}" />
        </DataTemplate>
    </ListView.ItemTemplate>
</ListView>