Je souhaite implémenter une collection observable avec clé dans Silverlight, qui stockera des objets uniques basés sur une propriété appelée Nom. Une façon de le faire est d'utiliser la classe ObservableCollectionEx (échantillons dans un autre post stackoverflow) qui s'abonne à tous les événements PropertyChanged sur les elemens contenus et vérifie si la propriété name change. Mieux encore, créez mon propre événement qui me dira que l'attribut name a changé et que je lance une exception ValidationException si l'élément existe déjà. Je ne veux pas nécessairement récupérer l'objet avec un indexeur ce [Nom].ObservableCollection à clé dans Silverlight
somthing comme ceci:
private string name;
public string Name
{
get { return name; }
set {
if (value != name)
{
OnNameChanged();
name = value;
OnPropertyChanged("Name");
}
}
}
Y at-il une autre solution plus élégante? Beaucoup plus simple? Merci, Adrian
P.S. Je sais qu'il y a aussi un ObservableDictionary que le Dr Wpf a mis en place et qu'il est facile de le déplacer vers Silvelight, mais je ne sais pas comment l'utiliser avec DataForm et autres.
Sauf qu'il n'implémente pas INotifyCollectionChanged. Cela semble nécessaire pour la liaison. –