Rafraichissement DataGrid bizarre : ligne invisible
Bonjour ou reBonjour,
J'ai un problème sur le rafraichissement de ma DataGrid.
Celle-ci est bindé sur une List de FileUplaod.
FileUpload ets une classe que j'ai développée et qui contient :
- un Guid
- un filename
- un State (pour l'upload)
- une Progression (int pour la progressbar)
- un checksum
Quand je clic sur le bouton "Delete" d'une ligne, celle-ci va bien me supprimer mon FileUpload dans ma List mais ne met pas à jour la datagrid.
J'ai lu sur internet qu'il fallait implémenter INotifyCollectionChanged et déclencher un event quand une modif a lieu. C'est donc ce que j'ai fait : quand je supprime une entrée, je lance une méthode, qui lance l'événement.
Cela ne marchait tourjours pas.
Après j'ai lu qu'il y a avait une histoire de OneWay, TwoWay. J'ai donc rajouté le TwoWay dans le Binding : toujours sans succès.
J'ai donc essayé la méthode pas propre :
Code:
1 2 3
|
mydatagrid.ItemsSource = null;
mydatagrid.ItemSource = _upload.ListFiles; //_upload est un objet qui a comme attribut ma List |
Et donc maintenant, quand je supprime une entrée, celle-ci est bien supprimer dans ma List (j'ai vérifié avec le debugger).
De plus, la ligne correspondante est bien retirée du DataGrid MAIS la ligne juste en dessous disparait aussi pour laisser place à un rectangle vide 8O
Voici quelques screens pour une meilleur compréhension :
Mon DataGrid :
http://img17.imageshack.us/img17/2414/sanstitretpb.jpg
Je supprime l'entrée Test0 et voici ce qu'il se passe :
http://img156.imageshack.us/img156/4184/step1.jpg
Test0 est bien supprimé MAIS Test1 disparait sans être supprimé.
Et enfin, pour le fun, je supprimer l'entrée Test2 :
http://img60.imageshack.us/img60/5585/step2x.jpg
Test2 est supprimé et Test1 réapparait .... MAGIIIIE
Dites ... c'est grave docteur ?
Est-ce que vous pourriez m'aider ?
Merci par avance,
Guillaume