ObservableCollection類介紹

ObservableCollection類介紹,第1张

概述System.Collections.ObjectModel.ObservableCollection不是什麼新鮮的東西,早在幾年前,就存在Silverlight與WPF中,它跟一般的Collection最大的不同地方在,它可以被監控,當集合有所變動,會產生事件,可以控制變化,如UI亓件需要監控集合,當變動時UI必需有所調整,或新增資料到集合中,要做一些初始化的動作等等。 NOTE: 在3.0中O

System.Collections.ObjectModel.ObservableCollection不是什麼新鮮的東西,早在幾年前,就存在Silverlight與WPF中,它跟一般的Collection最大的不同地方在,它可以被監控,當集合有所變動,會產生事件,可以控制變化,如UI亓件需要監控集合,當變動時UI必需有所調整,或新增資料到集合中,要做一些初始化的動作等等。

NOTE:

在3.0中ObservableCollection建置在windowsBase.dll中,不過我想沒人有寫個Web AP,為了一個類別而加入WPF的基本組件吧,不過在4.0中ObservableCollection已經被移到System.dll了,不管在什麼類型的專案都可以使用。

 @H_502_21@ 範例@H_502_21@

01 public interface IModel : INotifyPropertyChanged
02 { 03     string Key { get; set; } 04 Value { ; } 05 } 06   07 class Sample 08 09 public Sample() 10     { 11         ObservableCollection<IModel> collection = new ObservableCollection<IModel>(); 12 collection.CollectionChanged += OnCollectionChanged; 13 } 14 15 private voID OnCollectionChanged(object sender,NotifyCollectionChangedEventArgs e) 16 17         //當新增物件到集合時,做一些初始化 18         if (e.Action == NotifyCollectionChangedAction.Add) 19 { 20             foreach (IModel modle in e.NewItems) 21             22                 modle.PropertyChanged += (x,y) => 23 24                     //Do Something 25 }; 26 } 27 28 29 }

 

NotifyCollectionChangedEventArgs說明@H_502_21@

屬性

說明

Action

取得造成事件的動作。

NewItems

取得變更所涉及的新項目清單。

NewStartingIndex

取得發生變更的索引,預設值為-1,如collection.Insert(5,obj),NewStartingIndex值為是5。

oldItems

取得受 Replace、Remove 或 Move 動作影響的項目清單。

oldStartingIndex

取得發生 Move、Remove 或 Replace 動作的索引,預設值為-1,如collection.RemoveAt(5,obj),oldStartingIndex值為是5。

 

Action種類@H_502_21@

成員名稱

說明

Add

集合中已加入一個或多個項目。

Remove

集合中已移除一個或多個項目。

Replace

集合中已取代一個或多個項目。

Move

集合中已移動一個或多個項目。

reset

集合的內容已大幅變更。

 

參考資料@H_502_21@ ObservableCollection<T> 類別@H_502_21@ INotifyCollectionChanged 介面@H_502_21@ NotifyCollectionChangedEventArgs 類別@H_502_21@ NotifyCollectionChangedAction 列舉型別@H_502_21@

转载地址:http://www.dotblogs.com.tw/wadehuang36/archive/2010/11/03/observablecollection.aspx

总结

以上是内存溢出为你收集整理的ObservableCollection類介紹全部内容,希望文章能够帮你解决ObservableCollection類介紹所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/web/1075158.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)