BindingList.ListChanged event n'est pas envoyé [Résolu]

Signaler
Messages postés
159
Date d'inscription
samedi 29 septembre 2012
Statut
Membre
Dernière intervention
21 juin 2016
-
Messages postés
159
Date d'inscription
samedi 29 septembre 2012
Statut
Membre
Dernière intervention
21 juin 2016
-
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

Messages postés
159
Date d'inscription
samedi 29 septembre 2012
Statut
Membre
Dernière intervention
21 juin 2016
2
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.
Messages postés
16041
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
19 juin 2021
551
Ha oui, c'est valable quelque soit l'objet.
Messages postés
159
Date d'inscription
samedi 29 septembre 2012
Statut
Membre
Dernière intervention
21 juin 2016
2 >
Messages postés
16041
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
19 juin 2021

Désolé, j'avais zappé ce détail...
Je pense que c l'heure de faire une pause dans la programmation journalière :p