我的列表在UWP和Android上正确显示数据,但不适用于iOS。我想这和
OnAppearing
我正在使用的方法,当它在iOS上被调用时。
从我的仪表板导航到项目列表页时,我在
ItemPage
public ItemPage(string category = null, bool fromDashboard = false)
{
InitializeComponent();
BindingContext = new ItemViewModel(category, fromDashboard);
}
protected override void OnAppearing()
{
var vm = BindingContext as ItemViewModel;
vm?.GetData();
base.OnAppearing();
}
然后在我的
ItemViewModel
类的构造函数接受
category
和
fromDashboard
标记并设置一些属性。
这个
项目视图模型
GetData()
呼叫如下:
public void GetData()
{
this.Items = this.RefreshData(this.ItemService.GetAll(this.SelectedCategory));
if (this.FromDashboard)
this.Items = this.Items.Where(x => x.Status != "Complete").ToObservableCollection();
}
最后是
ItemPage.xaml
有一个
ListView
与
ItemsSource="{Binding Items}"
出于某种原因,这在Windows和Android上运行良好,但iOS上不会显示任何数据。页面是在OnAppearing方法或其他方法之前呈现的吗?