Я хочу реализовать наблюдаемую коллекцию с ключами в Silverlight, которая будет хранить уникальные объекты на основе свойства Name. Один из способов сделать это - использовать класс ObservableCollectionEx (примеры из другого поста stackoverflow), который подписывается на все события PropertyChanged на содержащихся элементах и проверяет, изменяется ли свойство name. Еще лучше, создайте мое собственное событие, которое сообщит мне об изменении атрибута имени, и выдаст исключение ValidationException, если элемент уже существует. Я не обязательно хочу получить объект с индексатором this [Name].
что-то вроде этого:
private string name;
public string Name
{
get { return name; }
set {
if (value != name)
{
OnNameChanged();
name = value;
OnPropertyChanged("Name");
}
}
}
Есть ли другое решение, более элегантное? Намного проще?
Спасибо,
Адриан
P.S. Я знаю, что есть также ObservableDictionary, который доктор Wpf собрал, и его легко переместить в Silvelight, но я не знаю, как использовать его с DataForm и тому подобным.