Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Представление CollectionView служит для вывода списков данных с различными спецификациями макета. Она направлена на обеспечение более гибкой и производительной альтернативы ListView. Например, на следующих снимках экрана показана CollectionView вертикальная сетка двух столбцов, которая позволяет выбрать несколько элементов:
CollectionView следует использовать для представления списков данных, требующих прокрутки или выделения. Привязываемый макет можно использовать, если отображаемые данные не требуют прокрутки или выделения. Дополнительные сведения см. в Xamarin.Formsразделе "Привязываемые макеты".
CollectionView доступна в Xamarin.Forms версии 4.3.
Внимание
CollectionViewдоступен в iOS и Android, но только частично доступен на универсальная платформа Windows.
Различия в CollectionView и ListView
CollectionView ListView Хотя и API похожи, существуют некоторые заметные различия:
CollectionViewимеет гибкую модель макета, которая позволяет представлять данные вертикально или горизонтально в списке или сетке.CollectionViewподдерживает один и несколько выборок.CollectionViewне имеет понятия о ячейках. Вместо этого шаблон данных используется для определения внешнего вида каждого элемента данных в списке.CollectionViewавтоматически использует виртуализацию, предоставляемую базовыми собственными элементами управления.CollectionViewуменьшает поверхностьListViewAPI . Многие свойства и события изListViewних отсутствуютCollectionView.CollectionViewне включает встроенные разделители.CollectionViewвызовет исключение, если оноItemsSourceобновляется из потока пользовательского интерфейса.
Переход из ListView в CollectionView
ListView Реализации в существующих Xamarin.Forms приложениях можно перенести в CollectionView реализации с помощью следующей таблицы:
| Концепция | API ListView | CollectionView |
|---|---|---|
| Data | ItemsSource |
A CollectionView заполняется данными, задав его ItemsSource свойство. Дополнительные сведения см. в разделе "Заполнение CollectionView данными". |
| Внешний вид элемента | ItemTemplate |
Внешний вид каждого элемента в объекте CollectionView можно определить, задав свойству ItemTemplate значение DataTemplate. Дополнительные сведения см. в разделе "Определение внешнего вида элемента". |
| Cells | TextCell, , ImageCellViewCell |
CollectionView не имеет понятия ячеек, поэтому понятия индикаторов раскрытия не имеют. Вместо этого шаблон данных используется для определения внешнего вида каждого элемента данных в списке. |
| Разделители строк | SeparatorColor, SeparatorVisibility |
CollectionView не включает встроенные разделители. Их можно указать при необходимости в шаблоне элемента. |
| Выбор | SelectionMode, SelectedItem |
CollectionView поддерживает один и несколько выборок. Дополнительные сведения см. в разделе Xamarin.Forms "Выбор CollectionView". |
| Высота строки | HasUnevenRows, RowHeight |
В строке CollectionViewвысоты каждого элемента определяется свойством ItemSizingStrategy . Дополнительные сведения см. в разделе "Размер элементов". |
| Кэширование | CachingStrategy |
CollectionView автоматически использует виртуализацию, предоставляемую базовыми собственными элементами управления. |
| Колонтитулы | Header, , HeaderElementFooterHeaderTemplateFooterElement,FooterTemplate |
CollectionViewможет представлять верхний и нижний колонтитул, прокручиваемый с элементами в списке, с помощью Headerсвойств FooterHeaderTemplate, и FooterTemplate т. е. Дополнительные сведения см. в разделе "Верхние и нижние колонтитулы". |
| Группировка | GroupDisplayBinding, , GroupHeaderTemplateGroupShortNameBindingIsGroupingEnabled |
CollectionView отображает правильно сгруппированные данные, задав для свойства значение IsGrouped true. Верхние и групповые нижние колонтитулы групп можно настроить, задав GroupHeaderTemplate объекты и GroupFooterTemplate свойства DataTemplate . Дополнительные сведения см. в разделе Xamarin.Forms "Группирование CollectionView". |
| Потяните, чтобы обновить | IsPullToRefreshEnabled, IsRefreshing, RefreshAllowedRefreshCommandRefreshControlColorBeginRefresh()EndRefresh() |
Вытягивание для обновления функций поддерживается путем установки CollectionView в качестве дочернего RefreshViewэлемента. Дополнительные сведения см. в разделе "Вытягивание" для обновления. |
| Элементы контекстного меню | ContextActions |
Элементы контекстного меню поддерживаются, задав SwipeView в качестве корневого представления в DataTemplate представлении, определяющем внешний вид каждого элемента данных в элементе CollectionView. Дополнительные сведения см. в разделе Контекстные меню. |
| Прокрутка | ScrollTo() |
CollectionViewScrollTo определяет методы, которые прокручивают элементы в представление. Дополнительные сведения см. в разделе " Прокрутка". |
