-1

I had a very basic class with 1 property like this:

public class NodeItem
{
    private object _Value;

    public object Value
    {
        get { return _Value; }
        set { _Value = value; }
    }
}

How can I define an event whenever Value property's value changed?

GSerg
  • 76,472
  • 17
  • 159
  • 346
Demi God
  • 5
  • 2
  • Define an event and in the setter for the property, set the value and also fire the event if the value has changed. You can use more than one line in the `set {}` – Coops Dec 18 '18 at 16:58

1 Answers1

1

Here is simple example

public event PropertyChangedEventHandler PropertyChanged;

private object _Value;
public object Value
{
    get { return _value; }
    set
    {
        _value = value;
        // Call OnPropertyChanged whenever the property is updated
        OnPropertyChanged(value);
    }
}


protected void OnPropertyChanged(object val)
{
    PropertyChangedEventHandler handler = PropertyChanged;
    if (handler != null)
    {
        handler(this, new PropertyChangedEventArgs(val));
    }
}

Reference

for Subscribing to event

void MyEventSubscription(object sender, CustomEventArgs a)  
{  
    // Do something useful here.  
}  

myClassInstance.PropertyChanged += MyEventSubscription;
Derviş Kayımbaşıoğlu
  • 28,492
  • 4
  • 50
  • 72