BindingList.ListChanged event n'est pas envoyé

Résolu
edwinzap Messages postés 149 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 149 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 149 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 19025 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 19 avril 2024 656
14 juin 2016 à 22:57
Ha oui, c'est valable quelque soit l'objet.
0
edwinzap Messages postés 149 Date d'inscription samedi 29 septembre 2012 Statut Membre Dernière intervention 21 juin 2016 2 > Whismeril Messages postés 19025 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 19 avril 2024
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
Rejoignez-nous