BindingList.ListChanged event n'est pas envoyé

Résolu
edwinzap
Messages postés
159
Date d'inscription
samedi 29 septembre 2012
Statut
Membre
Dernière intervention
21 juin 2016
- Modifié par edwinzap le 14/06/2016 à 22:56
edwinzap
Messages postés
159
Date d'inscription
samedi 29 septembre 2012
Statut
Membre
Dernière intervention
21 juin 2016
- 14 juin 2016 à 23:00
Bonsoir,
J'ai un problème dont je n'arrive pas à trouver la source.
L'événement ListChanged (et aussi AddingNew) de mes BindingList ne sont pas envoyés.

Voici ma classe:
namespace ViewModel
{
    public class vmCourse:ViewModelBase
    {
        public vmCourse()
        {
            this.Equipe = new BindingList<vmEquipe>();
            this.Pointage = new BindingList<vmPointage>();
        }
        
        public vmCourse(string nom, int longueur, TimeSpan duree):this()
        {
            Nom = nom;
            Longueur = longueur;
            Duree = duree;
        }

        private int id;
        private string nom;
        private int longueur;
        private Nullable<System.DateTime> dateDebut;
        private Nullable<System.DateTime> dateFin;
        private System.TimeSpan duree;

        public BindingList<vmEquipe> Equipe { get; set; }
        public BindingList<vmPointage> Pointage { get; set; }

        public int Id
        {
            get
            {
                return id;
            }

            set
            {
                NotifyPropertyChanged(ref id, value,"Id");
            }
        }

        public string Nom
        {
            get
            {
                return nom;
            }

            set
            {
                NotifyPropertyChanged(ref nom, value,"Nom");
            }
        }

        public int Longueur
        {
            get
            {
                return longueur;
            }

            set
            {
                int i = value;
                NotifyPropertyChanged(ref longueur, value,"Longueur");
            }
        }

        public DateTime? DateDebut
        {
            get
            {
                return dateDebut;
            }

            set
            {
                NotifyPropertyChanged(ref dateDebut, value,"DateDebut");
            }
        }

        public DateTime? DateFin
        {
            get
            {
                return dateFin;
            }

            set
            {
                NotifyPropertyChanged(ref dateFin, value,"DateFin");
            }
        }

        public TimeSpan Duree
        {
            get
            {
                return duree;
            }

            set
            {
                NotifyPropertyChanged(ref duree, value,"Duree");
            }
        }
    }
}


Et voici l'event dans ma classe principale:
this.courante.Course.Pointage.ListChanged += new ListChangedEventHandler(this.Pointage_Changed);


Et l'eventHandler:
private void Pointage_Changed(object sender, ListChangedEventArgs e)
        {
            MessageBox.Show(e.ListChangedType.ToString());
        }


Je n'arrive vraiment pas à comprendre pourquoi l'événement n'est pas généré !

D'avance merci

1 réponse

edwinzap
Messages postés
159
Date d'inscription
samedi 29 septembre 2012
Statut
Membre
Dernière intervention
21 juin 2016
2
14 juin 2016 à 22:55
Ok, je suis mauvais....
Sujet résolu.
L'événement est lié au BindingList. Si le bindingList change, il faut relier l'événement à nouveau.
0
Whismeril
Messages postés
17487
Date d'inscription
mardi 11 mars 2003
Statut
Modérateur
Dernière intervention
5 juillet 2022
600
14 juin 2016 à 22:57
Ha oui, c'est valable quelque soit l'objet.
0
edwinzap
Messages postés
159
Date d'inscription
samedi 29 septembre 2012
Statut
Membre
Dernière intervention
21 juin 2016
2 > Whismeril
Messages postés
17487
Date d'inscription
mardi 11 mars 2003
Statut
Modérateur
Dernière intervention
5 juillet 2022

Modifié par edwinzap le 14/06/2016 à 23:00
Désolé, j'avais zappé ce détail...
Je pense que c l'heure de faire une pause dans la programmation journalière :p
0