我正在编写一个 Windows 应用商店应用程序。
我有一个带有 GridView 的 View(FavoritenGrid)。此视图与 DataContext(FavoritenViewModel) 一起使用。并且 DataContext 有一个 List(FavList)。
现在我想在加载视图时获取最新的 FavList。
代码片段:
public FavoritenGrid()
{
this.InitializeComponent();
_vm = ((FavoritenViewModel)this.DataContext);
((DataViewModel)this.DataContext).LoadDataCommand.Execute(null);
groupedItemsViewSource.Source = _vm.FavList;
(semanticZoom.ZoomedOutView as ListViewBase).ItemsSource = groupedItemsViewSource.View.CollectionGroups;
}
收藏夹视图模型列表
private ObservableCollection<FavoritenGroup<Draggable>> _favList;
public ObservableCollection<FavoritenGroup<Draggable>> FavList
{
get { return _favList; }
set
{
_favList = value;
RaisePropertyChanged("FavList");
}
}
FavoritenViewModel 加载方法
private async Task loadData()
{
IsLoading = true;
FavList = new ObservableCollection<FavoritenGroup<Draggable>>();
FavList = await getFavoriten();
IsLoading = false;
}
如果我不使用空列表初始化列表,我会得到 NullPointerException。
FavList = new ObservableCollection<FavoritenGroup<Draggable>>();
此方法加载最新的 FavList。但它没有显示在视图中,我必须离开视图并再次加载以查看更改。
FavList = await getFavoriten();