Comment puis-je surveiller les changements dans un ItemsControl en utilisant Silverlight?

StackOverflow https://stackoverflow.com/questions/516203

  •  21-08-2019
  •  | 
  •  

Question

J'ai un ItemsControl lié à un ObservableCollection. Lorsque la collection change observable, j'ai un gestionnaire d'événements qui se penche sur les enfants du ItemsControl. Malheureusement, le ItemsControl n'a pas encore ajouté un nouvel élément à ce moment-là (ce qui est compréhensible). Comment puis-je savoir quand un ItemsControl a terminé l'ajout de nouveaux contrôles enfants?

En d'autres termes, si j'utilise un ItemsControl pour afficher une liste des zones de texte, comment puis-je être informé quand un nouveau contrôle de zone de texte a été ajouté à l'écran?

Était-ce utile?

La solution

Eh bien, je fini par creuser dans le contrôle pour trouver le ContentPresenter. Je me suis alors attaché à l'événement LayoutUpdated, qui a compté les enfants pour voir si elle a changé.

Il est un peu une solution bizarre, mais cela fonctionne.

Autres conseils

Si vous liez un ObservableCollection à ItemsControl, qui se trouve être le type de collection qui SilverLight clients WCF génèrent, alors vous pouvez écouter les événements déclenchés par le ObservableCollection.

Ceci est en fait la façon dont Silverlight sait si de re-rendu ou non. Vous pouvez utiliser le indépendant de collecte de l'interface utilisateur et l'interface utilisateur se comporte normalement.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top