更新LongListSelector

MTA*_*MTA 1 c# silverlight wpf windows-phone-7

我在我的应用程序LongListSelector中,这是我如何设置项目源:

historylist.ItemsSource = new List<VideoItem>(historyRep.historyArray);
Run Code Online (Sandbox Code Playgroud)

现在,如果从数组中删除了一个项目,则会添加一个新项目或者编辑的任何项目我再次调用此方法来刷新ItemSource:

historylist.ItemsSource = new List<VideoItem>(historyRep.historyArray);
Run Code Online (Sandbox Code Playgroud)

但现在我注意到这个方法产生了一些问题,我想知道这是否是刷新\更新LongListSelector的好方法?

yo *_*han 5

嗨,这不是一个好方法.您应该使用MVVM模式,并通过xaml分配ItemsSource.但是如果你想要它完成使用ObservableCollection而不是List.I希望这会有所帮助.

  • ObservableCollection具有事件集合更改事件,每次在集合中进行更改时都会触发该事件,并且此更改在触发NotifyPropertyChanged事件时反映在UI上,但如果您将使用List,则必须明确通知更新UI.但是如果不是使用绑定可以使用UpdateLayOut方法. (3认同)