none
Binding sur 2 propriétés liées l'une à l'autre RRS feed

  • Question

  • Bonjour,

    j'ai un objet dérivant de INotifyPropertyChanged, qui possède une propriété DateDébut et une propriété DateFin. J'ai des difficultés avec le Binding de ces 2 propriétés en même temps, compte tenu du fait que je veux parfois changer DateDébut et DateFin en même temps (par exemple, ajout de n minutes à DateDébut et DateFin; Durée inchangée), et parfois changer seulement DateDébut (ou DateFin) seulement (Durée changée en conséquence).

    Si j'utilise comme propriétés: DateDébut et Durée, je rencontre les mêmes difficultés.

    Je tourne en rond sur ce problème.

    Merci de votre aide.


    lundi 19 janvier 2015 13:57

Toutes les réponses

  • Bonjour,

    Pouvez-vous nous dire quelle est la nature de ces problèmes que vous rencontrez s'il vous plait?


    Philippe

    lundi 19 janvier 2015 14:24
  • Votre code doit certainement "tourner en rond" ;-)

    Votre date de début doit vouloir changer votre date de fin et il doit y avoir du code dans la date de fin qui doit changer la date de début.

    Ne travaillez dans votre code que sur les propriétés et externalisez le code de maintenance. Un truc du genre :

            private DateTime _dateDebut;
            private DateTime _dateFin;    
            public DateTime DateDebut
            {
                get { return _dateDebut; }
                set
                {
                    _dateDebut = value;
                    OnDateChanged();
                }
            }
    
            public DateTime DateFin
            {
                get { return _dateFin; }
                set
                {
                    _dateFin = value;
                    OnDateChanged();
                }
            }
    
            private void OnDateChanged()
            {
                if (DateDebut >= DateFin)
                    DateDebut = DateFin.AddDays(-1);
            }


    Richard Clark
    Consultant - Formateur .NET
    http://www.c2i.fr
    Depuis 1996: le 1er site .NET francophone

    • Proposé comme réponse Mathieu Notin mercredi 21 janvier 2015 09:57
    mercredi 21 janvier 2015 08:36