Я использую DataContract с ObservableCollection:
[DataContract(Namespace = Terms.MyNamespace)]
public class MyContract
{
internal MyContract ()
{
List = new ObservableCollection<string>();
}
[DataMember]
private ObservableCollection<string> list;
[XmlArray("list")]
public ObservableCollection<string> List
{
get
{
return list;
}
set
{
list = value;
list.CollectionChanged += (s, e) =>
{
Console.WriteLine("It is never happens!! Why?");
};
}
}
...
Итак, когда я работаю со своей коллекцией вот так.
MyContract contract = new MyContract();
contract.List.Add("some");
Элемент был добавлен, но событие CollectionChanged не сработало.
Почему?