【发布时间】:2010-11-30 06:49:04
【问题描述】:
我想在 Silverlight 中实现一个键控 observable 集合,它将基于名为 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");
}
}
}
还有其他更优雅的解决方案吗?简单得多? 谢谢, 阿德里安
附:我知道 Wpf 博士还整理了一个 ObservableDictionary,很容易将其移至 Silvelight,但我不知道如何将它与 DataForm 等一起使用。
【问题讨论】:
标签: silverlight observablecollection keyedcollection