2017-09-12 8 views
0

、Xamarinフォームでは、データはありますが内容はなく、1つの行とその空のみが表示されます。モデルでMVVMによるObservableCollectionをListViewにバインドできません

:ビューモデル

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


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

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

......

TrendingRoots = new ObservableCollection<TrendingModel.RootObject>(ridesResult); 

結果が 'TredingRoots' は - > TrendinRoot [0] .items [i] .snippet ..... 表示、リストビュー:

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

最終結果はリストビューでは、1つのアイテムを有しており、この項目が空である、一方で、

  • 結果は、15の項目を持たなければなりません。
  • 表示ListView項目の各項目が
+0

は、いくつかの追加情報を提供してください(現在はそれが空で、結合することはできません)。あなたが達成したいことは明確ではありません。 – Fruchtzwerg

+0

ItemSourceは、ルートオブジェクトのコレクションではなく、RootObjectのアイテムプロパティである必要があります。 – Jason

+0

が更新されました。データは15項目ですが、リストビューにバインドすることはできません。 – KSon

答えて

1
<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> 
関連する問題