xamarin/Xamarin.Forms

[iOS] DataTemplateSelector doesn't work when an item is re-created in code-behind

Ouverte

#7 836 ouverte le 5 oct. 2019

 (4 commentaires) (0 réaction) (0 personne assignée)C# (1 926 forks)batch import
a/collectionviewhelp wantedp/iOS 🍎t/bug :bug:up-for-grabs

Métriques du dépôt

Stars
 (5 644 étoiles)
Métriques de merge PR
 (Métriques PR en attente)

Description

Description

This works in ListView but not CollectionView. When a template selector is used (in this case with two different data templates) and a button click clears StackLayout children and adds a new view, CollectionView renders items in wrong positions.

Steps to Reproduce

  1. Run repro.
  2. Scroll to item 49.
  3. Click the "Clear" button
  4. Observe that the scroll position changes and there are multiple items with the new "Cleared at timestamp" view.
  5. Comment out Items.Add(new Model1())
  6. Re-run the test.
  7. Observe that the issue does not happen this time.

Expected Behavior

Code-behind changes should not confuse the CollectionView when a DataTemplateSelector is used.

Basic Information

  • Version with issue: 4.4.0.1211-nightly
  • Last known good version: N/A
  • IDE: VS2019
  • Affected Devices: XS

Screenshots

file (1)

Reproduction Link

App100.zip

Guide contributeur