Wpf 绑定到ObservableCollection的LongListSelector不更新
我有一个Wpf 绑定到ObservableCollection的LongListSelector不更新,wpf,data-binding,windows-phone-8,observablecollection,longlistselector,Wpf,Data Binding,Windows Phone 8,Observablecollection,Longlistselector,我有一个observateCollection,它是一个视图模型的集合,实现了INotifyPropertyChanged接口 public class FeedsViewModel : ObservableCollection<FeedViewModel> { } 但是,当我在运行时向ObservableCollection添加一些内容时,UI不会随着更改而更新 private void AddFeedClick(object sender, EventArgs e) {
observateCollection
,它是一个视图模型的集合,实现了INotifyPropertyChanged
接口
public class FeedsViewModel : ObservableCollection<FeedViewModel>
{
}
但是,当我在运行时向ObservableCollection添加一些内容时,UI不会随着更改而更新
private void AddFeedClick(object sender, EventArgs e)
{
var task = FeedModel.Load("Reddit");
var awaiter = task.GetAwaiter();
awaiter.OnCompleted(() =>
{
var model = awaiter.GetResult();
FeedModel.Save(model);
((ObservableCollection<FeedViewModel>)Resources["FeedsViewModel"]).Add(new FeedViewModel(model));
});
}
private void AddFeedClick(对象发送者,事件参数e)
{
var任务=FeedModel.Load(“Reddit”);
var awaiter=task.GetAwaiter();
等待者。未完成(()=>
{
var model=waiter.GetResult();
FeedModel.Save(model);
((ObservableCollection)资源[“FeedsView模型])。添加(新的FeedViewModel(模型));
});
}
在将新视图模型添加到ObservaleCollection
时点击断点并检查集合时,显示集合事件的CollectionChanged
没有处理程序(为null)
如何让LongListSelector从ObservableCollection更新自身
我通过从
(ObservableCollection
到FeedsViewModel
,这是项目的实际类型。虽然没有发生无效的强制转换,但这里一定有一些模糊的OO特性在起作用。我怀疑在集合上实际上有两个隐藏事件,一个用于ObservableCollection
类型,另一个用于扩展正在键入,但我不确定。尝试同步添加项目,没有效果。尝试从代码设置项目源,没有效果。同时尝试两者,没有效果。需要查看您的类FeedsViewModel。是否覆盖它的PropertyChanged事件?不应该。FeedsViewModel张贴在问题的顶部。我不覆盖Pr操作更改事件。
private void AddFeedClick(object sender, EventArgs e)
{
var task = FeedModel.Load("Reddit");
var awaiter = task.GetAwaiter();
awaiter.OnCompleted(() =>
{
var model = awaiter.GetResult();
FeedModel.Save(model);
((ObservableCollection<FeedViewModel>)Resources["FeedsViewModel"]).Add(new FeedViewModel(model));
});
}