我想在 Silverlight 中实现一个键控可观察集合,它将基于名为 Name 的属性存储唯一对象。一种方法是使用 ObservableCollectionEx(另一个 stackoverflow 帖子中的示例)类订阅包含的元素上的所有 PropertyChanged 事件,并检查 name 属性是否更改。更好的是,创建我自己的事件,它会告诉我 name 属性已更改,如果 item 已存在则抛出 ValidationException。我不一定想用索引器 this[Name] 检索对象。
像这样的东西:
private string name;
public string Name
{
get { return name; }
set {
if (value != name)
{
OnNameChanged();
name = value;
OnPropertyChanged("Name");
}
}
}
还有其他更优雅的解决方案吗?简单得多?谢谢,阿德里安
PS我知道Wpf博士还整理了一个ObservableDictionary,很容易将其移至Silvelight,但我不知道如何将它与DataForm等一起使用。