共用方式為


收藏視圖

瀏覽範例。 瀏覽範例

.NET 多平臺應用程式 UI (.NET MAUI) CollectionView 是使用不同版面配置規格呈現資料清單的檢視。 它旨在提供更靈活、更高效能的替代方案 ListView

下列螢幕擷取畫面顯示使用兩欄垂直方格並允許多個選取的 A CollectionView

CollectionView 垂直網格版面配置的螢幕擷取畫面。

CollectionView 應該用來呈現需要捲動或選取的資料清單。 當要顯示的資料不需要捲動或選取時,可以使用可繫結的版面配置。 如需詳細資訊,請參閱 BindableLayout

備註

在 iOS 和 Mac Catalyst 上,.NET 9 中選擇性的最佳化處理常式是 .NET 10 中預設的處理常式 CollectionView ,可提供改善的效能和穩定性。

還原為 .NET 9 行為

建議您使用 的新處理常式 CollectionView,但如果您想要選擇退出此行為並還原回 .NET 9 處理常式,您可以在 MauiProgram.cs.

#if IOS || MACCATALYST
builder.ConfigureMauiHandlers(handlers =>
{
    handlers.AddHandler<Microsoft.Maui.Controls.CollectionView, Microsoft.Maui.Controls.Handlers.Items.CollectionViewHandler>();
});
#endif

CollectionView 和 ListView 的差異

雖然 和 CollectionViewListView API 相似,但有一些顯著差異:

從 ListView 移至 CollectionView

ListView 實作可以移轉至 CollectionView 實作,藉助下表:

概念 ListView API 收藏視圖
資料 ItemsSource A CollectionView 會透過設定其 ItemsSource 屬性來填入資料。 如需詳細資訊,請參閱 使用 資料填入 CollectionView
物品外觀 ItemTemplate 可以將屬性設定ItemTemplateDataTemplate來定義 中CollectionView每個項目的外觀。 如需詳細資訊,請參閱 定義項目外觀
細胞 TextCellImageCellViewCell CollectionView 沒有單元格的概念,因此也沒有披露指標的概念。 相反地,會使用資料範本來定義清單中每個資料項目的外觀。
列分隔符號 SeparatorColorSeparatorVisibility CollectionView 不包括內建分隔符號。 如果需要,可以在項目範本中提供這些。
Selection SelectionModeSelectedItem CollectionView 支援單選和多選。 如需詳細資訊,請參閱 設定 CollectionView 專案選取。
列高 HasUnevenRowsRowHeight CollectionView中,每個項目的列高由屬性決定 ItemSizingStrategy 。 如需詳細資訊,請參閱 項目大小調整
緩存 CachingStrategy CollectionView 自動使用基礎原生控制項所提供的虛擬化。
頁首和頁尾 HeaderHeaderElementHeaderTemplateFooterFooterElementFooterTemplate CollectionView可以透過 、 、 FooterHeaderTemplateFooterTemplate屬性呈現Header與清單中的專案一起捲動的頁首和頁尾。 如需詳細資訊,請參閱 頁首和頁尾
Grouping GroupDisplayBindingGroupHeaderTemplateGroupShortNameBindingIsGroupingEnabled CollectionView 透過將其 IsGrouped 屬性設定為 true來顯示正確分組的資料。 群組頁首和群組頁尾可以透過將 和 GroupFooterTemplate 屬性設定GroupHeaderTemplateDataTemplate物件來自訂。 如需詳細資訊,請參閱 在 CollectionView 中顯示分組資料
提取以重新整理 IsPullToRefreshEnabledIsRefreshingRefreshAllowedRefreshCommandRefreshControlColorBeginRefresh()EndRefresh() 將 a CollectionView 設定為 的 RefreshView子系,即可支援提取重新整理功能。 如需詳細資訊,請參閱 提取以重新整理
內容選單項目 ContextActions 透過將 a SwipeView 設定為根檢視來支援內容功能表項目,該檢視 DataTemplate 定義了 中 CollectionView每個資料項目的外觀。 如需詳細資訊,請參閱 內容功能表
捲動 ScrollTo() CollectionView ScrollTo定義方法,將項目捲動到檢視中。 如需詳細資訊,請參閱 控制 CollectionView 中的捲動