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

edwinzap 159 Messages postés samedi 29 septembre 2012Date d'inscription 21 juin 2016 Dernière intervention - 14 juin 2016 à 22:49 - Dernière réponse : edwinzap 159 Messages postés samedi 29 septembre 2012Date d'inscription 21 juin 2016 Dernière intervention
- 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
Afficher la suite 

3 réponses

Répondre au sujet
edwinzap 159 Messages postés samedi 29 septembre 2012Date d'inscription 21 juin 2016 Dernière intervention - 14 juin 2016 à 22:55
0
Utile
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.
Whismeril 10526 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 13 décembre 2017 Dernière intervention - 14 juin 2016 à 22:57
Ha oui, c'est valable quelque soit l'objet.
edwinzap 159 Messages postés samedi 29 septembre 2012Date d'inscription 21 juin 2016 Dernière intervention > Whismeril 10526 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 13 décembre 2017 Dernière intervention - 14 juin 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
Commenter la réponse de edwinzap

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.