我跟進了這個
但是現在我還需要對專案進行分組,例如,按名稱的長度分組。另外,使用
問題是我需要使用增量加載并對專案進行分組,我找不到將 IncrementalLoadingCollection 與 CollectionViewSource 一起使用的方法。有誰知道如何做到這一點或可以提出解決方案?感激的。
uj5u.com熱心網友回復:
如何使用帶有 CollectionViewSource 的增量加載集合對 UWP 中的串列視圖項進行分組?
我不得不說,IncrementalLoadingCollection不適用于CollectionViewSource. 它們都需要直接設定為 ListView 的 ItemsSource 才能作業。因為他們需要檢測 listview Interaction。
因此,根據您的要求,我們建議您收聽 listviewViewChanged并手動添加更多專案。
例如
private void PeopleListView_Loaded(object sender, RoutedEventArgs e)
{
if (!(PeopleListView.ItemsPanelRoot is ItemsStackPanel itemsStackPanel)) return;
var _itemsStackPanel = itemsStackPanel;
var _scrollViewer = MyFindDataGridChildOfType<ScrollViewer>(PeopleListView);
// This event handler loads more items when scrolling.
_scrollViewer.ViewChanged = (o, eventArgs) =>
{
if (eventArgs.IsIntermediate) return;
double distanceFromBottom = itemsStackPanel.ActualHeight - _scrollViewer.VerticalOffset - _scrollViewer.ActualHeight;
if (distanceFromBottom < 10) // 10 is an arbitrary number
{
for (int i = 1; i <= 50; i )
{
var p = new Person { Name = "Person " i };
_people.Add(p);
var result =
from t in _people
group t by t.Name.Length into g
orderby g.Key
select g;
groupInfoCVS.Source = result;
PeopleListView.ItemsSource = groupInfoCVS.View;
}
}
};
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/317329.html
