If you are defining RelatedProgramsChanged
, you should also fire that event when the property value changes. You have not shown enough code to pinpoint the failure point in your implementation.
The PropertyNameChanged event was the way to signal a change before the introduction of the INotifyPropertyChanged Interface. For more information see: Property-Changed Events.
From the Remarks section of INotifyPropertyChanged:
For change notification to occur in a binding between a bound client
and a data source, your bound type should either:
Do not do both.
This event along with the ShouldSerializePropertyName and ResetPropertyName (see: Defining Default Values with the ShouldSerialize and Reset Methods) methods are retrieved by the property descriptor used by the WinForm binding mechanism. You can inspect the propery descriptor code at ReflectPropertyDescriptor and read the comments to learn more.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…