2013-02-18 65 views
1

我在我的應用程序LongListSelector,這是我設置的項目來源:更新LongListSelector

historylist.ItemsSource = new List<VideoItem>(historyRep.historyArray); 

現在,如果從陣列中刪除的項目,則是增加了一個新的項目或編輯我的任何項目再次調用此方法來刷新的ItemSource:

historylist.ItemsSource = new List<VideoItem>(historyRep.historyArray); 

但現在我發現,這種方法取得了一定的問題,我想知道這是否是刷新\更新LongListSelector的好辦法?

回答

4

嗨,這不是一個好方法。您應該使用MVVM模式,並通過xaml分配ItemsSource。但如果你想要它使用ObservableCollection而不是List.I希望這會有所幫助。

+0

列表與ObservableCollection之間有什麼不同? – MTA 2013-02-18 16:12:16

+3

ObservableCollection的事件集合已更改事件,每次您在集合中進行更改時都會觸發該更改,並且此更改反映在UI上,因爲它會觸發NotifyPropertyChanged事件,但是如果您要使用List,則必須顯式通知以更新UI。但是,如果您不使用任何綁定你可以使用UpdateLayOut方法。 – ethicallogics 2013-02-18 16:34:08