ObservableCollections 的 PropertyEventChangedHandler 未触发

PropertyEventChangedHandler of ObservableCollections not firing

我定义了一个 Observable 集合,如下所示,

public class PropertyFieldsInExcel
{
    public string LongNames { get; set; }
    public string ShortNames { get; set; }
    public string CNames { get; set; }                              
}

static ObservableCollection<PropertyFieldsInExcel> Properties = 
    new ObservableCollection<PropertyFieldsInExcel>();

我有一个方法可以像这样更改 class 中某些元素的值,

public static void AutofillCell()
{            
    ((INotifyPropertyChanged)Properties).PropertyChanged += 
        new PropertyChangedEventHandler(PropertyChangedEvent);            

    Properties[i].CNames = "It works";
    Properties[i].CNames = "Ha ha ha";            

    ((INotifyPropertyChanged)Properties).PropertyChanged -= 
        new PropertyChangedEventHandler(PropertyChangedEvent);
}

当我如上所示为特定元素赋值时,事件没有触发。为什么?我犯了什么错误?

事件处理程序的代码是这样的,

private static void PropertyChangedEvent(object sender, PropertyChangedEventArgs e)
{
    //Some code to be executed
}

两个问题:

1) PropertyFieldsInExcel 没有实现 INotifyPropertyChanged

2) ObservableCollection 可以在项目更改时通知您,但只有在您手动订阅所有项目的更改事件后才会通知您。

Uwe Keim 评论中的 link 给出了很好的解释和示例...