我的应用程序包括在五页之间导航。每个页面都包含一个列表。所有列表使用LongListSelector显示等效内容,并绑定ObservableCollection:
public class ItemViewModel : INotifyPropertyChanged
{
...
}
public class MainViewModel : INotifyPropertyChanged
{
...
public ObservableCollection<ItemViewModel> Items { get; private set; }
...
}
我想只维护一个xaml页面:所有列表必须始终相同,每次修饰设计时我都不想更改5页。所以,我创建了5个其他对象ObservableCollection,当我更改页面时,对象Items被设置为其中一个。
但是自从我这样做以来,我没有任何显示内容,好像列表是空的。我设置了一个断点来检查这些列表是否已被填充,它们是。
我首先尝试填充项目本身。它显示。但是以下指令导致从屏幕清除列表:
this.Items = this.ItemsList1;
我尝试实现事件CollectionChanged,但它什么都没改变。
使用它的方法是否错误?是否有另一种方法可以在同一页面中绑定多组数据?
答案 0 :(得分:2)
当您更改PropertyChanged
财产时,您尚未提出Items
事件。添加支持字段并在属性设置器中执行,或者在分配Items
后将其激活。例如
this.Items = this.ItemsList;
RaisePropertyChanged("Items"); //or however you've implemented INPC