![](/img/trans.png)
[英]MVVM binding ObservableCollection to Listview Not working
[英]Can't binding ObservableCollection to ListView by MVVM
在Xamarin Form上,具有行数据但没有内容,并且仅显示一行及其空白。
在模型中:
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; }
}
在ViewModel中
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] .items [i] .snippet .....在视图上,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个项目,而这个项目为空,
<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>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.