我想在Silverlight中實現一個鍵控可觀察集合,該集合將存儲基於名爲Name的屬性的唯一對象。這樣做的一種方法是使用ObservableCollectionEx(在另一個stackoverflow帖子中的樣本)類,該類訂閱所包含elemens上的所有PropertyChanged事件,並檢查名稱屬性是否更改。更好的是,創建我自己的事件,它會告訴我名稱屬性發生了變化,如果項目已經存在,則拋出一個ValidationException。我不一定要用索引器[Name]來檢索對象。Silverlight中的鍵控ObservableCollection
財產以後這樣的:
private string name;
public string Name
{
get { return name; }
set {
if (value != name)
{
OnNameChanged();
name = value;
OnPropertyChanged("Name");
}
}
}
是否有其他解決方案更優雅?簡單得多? 謝謝, Adrian
P.S.我知道也有一個ObservableDictionary,Wpf博士放在一起,很容易將它移動到Silvelight,但我不知道如何使用它與DataForm等。
除了它沒有實現INotifyCollectionChanged。似乎有必要進行綁定。 – 2010-11-10 16:14:05