2010-04-24 15 views

Répondre

4

En supposant que vous exposez la Timespan comme une propriété d'une classe, vous pouvez mettre en œuvre INotifyPropertyChanged comme ceci:

public class MyClass : INotifyPropertyChanged 
{ 
    private Timespan _timespan; 

    public event PropertyChangedEventHandler PropertyChanged; 

    public Timespan Timespan 
    { 
     get { return _timespan; } 
     set 
     { 
      Timespan oldValue = _timespan; 
      _timespan = value; 

      if(oldValue != value) 
       OnPropertyChanged("Timespan"); 
     } 
    } 

    protected void OnPropertyChanged(string propertyName) 
    { 
     PropertyChangedEventHandler @event = PropertyChanged; 

     if(@event != null) 
      @event(
       this, 
       new PropertyChangedEventArgs(propertyName ?? string.Empty) 
       ); 
    } 
} 

Toute cession d'une valeur modifiée à la propriété Timespan soulèvera l'événement attendu.