Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 无法通过MVVM将ObservableCollection绑定到ListView_C#_Xamarin_Mvvm_Xamarin.forms - Fatal编程技术网

C# 无法通过MVVM将ObservableCollection绑定到ListView

C# 无法通过MVVM将ObservableCollection绑定到ListView,c#,xamarin,mvvm,xamarin.forms,C#,Xamarin,Mvvm,Xamarin.forms,在Xamarin表单上,具有行数据但没有内容,只显示一行及其空行 在模型中: public class Item { public string kind { get; set; } public string etag { get; set; } public string id { get; set; } public Snippet snippet { get; set; } public Conte

在Xamarin表单上,具有行数据但没有内容,只显示一行及其空行

在模型中:

 public class Item
    {
        public string kind { get; set; }
        public string etag { get; set; }
        public string id { get; set; }
        public Snippet snippet { get; set; }
        public ContentDetails contentDetails { get; set; }
        public Status status { get; set; }
        public Statistics statistics { get; set; }
    }

    public class RootObject
    {
        public string kind { get; set; }
        public string etag { get; set; }
        public string nextPageToken { get; set; }
        public PageInfo pageInfo { get; set; }
        public List<Item> items { get; set; }
    }
在视图模型中

private ObservableCollection<TrendingModel.RootObject> _trendingRoots;
    private readonly ITrendingService _trendingService;


    public ObservableCollection<TrendingModel.RootObject> TrendingRoots
    {
        get { return _trendingRoots; }
        set
        {
            _trendingRoots = value;
            RaiseProtertyChanged(()=>TrendingRoots);
        }
    }

TrendingRoots = new ObservableCollection<TrendingModel.RootObject>(ridesResult);
结果是“TredingRoots”->TrendinRoot[0]。项[i]。代码段。。。。。 查看时,ListView:

 <ListView x:Name="lstHome" ItemsSource="{Binding TrendingRoots}">
        <ListView.ItemTemplate>
            <DataTemplate>
                <ViewCell>
                    <StackLayout
                           Orientation="Horizontal">

                        <Image 
                               Source="{Binding items.snippet.thumbnails.medium}"
                               Aspect="AspectFit"
                               WidthRequest="220"
                               HeightRequest="220"
                               HorizontalOptions="Center"
                               VerticalOptions="Center" />
                        <Label 
                               Text="{Binding items.snippet.title}"
                               HorizontalOptions="Center"
                               VerticalOptions="Center">

                        </Label>
                    </StackLayout>
                </ViewCell>
            </DataTemplate>
        </ListView.ItemTemplate>
    </ListView>
最终结果是listview有1个项,而该项为空,在while中

结果必须有15项。 显示listview项目上的每个项目当前为空,无法绑定
请提供一些补充资料。不清楚您想要实现什么。您的ItemSource应该是RootObject的items属性,而不是RootObjectsupdated的集合。数据为15项,但无法绑定到listview。问题在于ItemTemplate中的绑定:{binding items.snippet.title}。items是一个列表,无法将列表项绑定到单个文本元素。如果要显示所有项目,必须在ItemTemplate中实现另一个ListView。@因此它没有
<ListView x:Name="lstHome" ItemsSource="{Binding TrendingRoots[0].items}">
    <ListView.ItemTemplate>
        <DataTemplate>
            <ViewCell>
                <StackLayout
                       Orientation="Horizontal">

                    <Image 
                           Source="{Binding  snippet.thumbnails.medium}"
                           Aspect="AspectFit"
                           WidthRequest="220"
                           HeightRequest="220"
                           HorizontalOptions="Center"
                           VerticalOptions="Center" />
                    <Label 
                           Text="{Binding snippet.title}"
                           HorizontalOptions="Center"
                           VerticalOptions="Center">

                    </Label>
                </StackLayout>
            </ViewCell>
        </DataTemplate>
    </ListView.ItemTemplate>
</ListView>