Comment faire pour que EntranceThemeTransition fonctionne sur un Panel & ItemsSource personnalisé?

Je ne parviens pas à faire fonctionner EntranceThemeTransition sur un panneau personnalisé en tant que ItemsPanelTemplate. Voir:

Le code le plus simple derrière:

public List MyListExample = new List() {0, 1, 2, 3, 4, 5}; 

XAML le plus simple:

            <!---->  <!---->    

Une idée de comment faire fonctionner l’animation?

PS: Je mets un Debug.WriteLine sur l’événement Loaded, il est appelé deux fois et je ne sais pas pourquoi. Cela pourrait être à l’origine du problème, car cette animation n’est déclenchée qu’une seule fois. Peut-être est-il déclenché avant l’ajout de ItemsSource.

PS2: Cela ne se produit que lors de l’utilisation de ItemsSource. Si j’ajoute les éléments directement sur le ListView XAML, cela montre l’animation.

(également sur MSDN )

C’est vraiment un bug. La liaison est appliquée ensemble ou juste après l’animation. Comme EntranceThemeTransition ne se produit qu’une seule fois, il pense qu’il est déjà exécuté et le désactive.

Voici la solution que j’utilise actuellement:

C #:

 public ObservableCollection items { get; set; } = new ObservableCollection() { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }; private async void MyListView_Loaded(object sender, RoutedEventArgs e) { foreach (var item in items) MyListView.Items.Add(item); await Task.Delay(1000); //wait for animation MyListView.SetBinding(ItemsControl.ItemsSourceProperty, new Binding() { Source = this, Path = new PropertyPath("items"), Mode = BindingMode.TwoWay }); } 

XAML:

             

Merci Franklin Chen pour l’information sur le forum MSDN sur l’ajout des éléments sur le code.