2016-11-25 75 views
0

我有一個組項目。隨後,各組組項目,我把它改成一個ListView現在UWP - 從後面的代碼更新列表視圖源代碼

var Groups = query.GroupBy(query => query.Name); 
foreach (var group in Groups) 
      { 
       if (group.records.Count() > 2) 
       { 
        ListView listview = new ListView(); 
        var itemsource = new ObservableCollection<FileProperties>(); 
        var header = ""; 
        foreach (var item in group.records) 
        { 
         header = item.Name; 
         itemsource.Add(new FileProperties(item.Name, item.Size, item.DateModified, item.Hash, item.Path, item.IsOrigin)); 
        } 
        listview.ItemsSource = itemsource; 
        var itemsTemplate = (DataTemplate)this.Resources["Show"]; 
        listview.ItemTemplate = itemsTemplate; 
        //test is mother listview 
        test.Items.Add(listview); 
       } 
      } 

,我有一個問題,我如何更新列表視圖UI如果我在項目組中更改值,而不重置母親的ListView

回答

1

的默認ListView可以使用CollectionViewSource分組。沒有必要爲父母ListView的每個組創建子女ListView

My answer here顯示瞭如何創建一個分組ListView,你可以看看。或者在互聯網上有一堆演示,你可以用它們搜索。

但這裏最重要的一點是,通過使用默認分組ListView,我們可以簡單地爲整個ListView創建一個數據集合,修改items源集合以自動更新分組子集,我們不需要創建ObservableCollection s爲每個組。