Если мы сравним Список и ObservableCollection , то оба будут реализованы из IList. Там нет большой разницы там. Наибольшее различие заключается в том, что ObservableCollection также реализует интерфейс INotifyCollectionChanged , который позволяет WPF связываться с ним.
Поэтому, если вы не хотите использовать List вместо ObservableCollection в своем классе модели, вам нужно реализовать класс с INotifyCollectionChanged :
class ModelClass:INotifyCollectionChanged
{
public List<Element> eList;// call OnCollectionChanged() when you set/add/remove...the list).
public void MethodA()
{
doSomething();
}
#region INotifyCollectionChanged Members
protected void OnCollectionChanged(NotifyCollectionChangedEventArgs e)
{
if (CollectionChanged != null)
CollectionChanged(this, e);
}
public event NotifyCollectionChangedEventHandler CollectionChanged;
#endregion
}