XamDataGrid绑定了一个ObservableCollection,我想让XamDataGrid的某一行的值发生改变时,将这一行传给另一个List,怎么办?(尽量详细,有代码)
è¿éå»ºè®®ä½ ä½¿ç¨Bindingæ¥å¤çã
äºè§£ä¸ObservableCollection<T> ç±»åBindingList<T> ç±»ã
ObservableCollection<T> ç±»
表示ä¸ä¸ªå¨ææ°æ®éåï¼å¨æ·»å 项ã移é¤é¡¹æå·æ°æ´ä¸ªå表æ¶ï¼æ¤éåå°æä¾éç¥ã
å ·ä½è¯´æåèMSDNææ¡£ï¼http://msdn.microsoft.com/zh-cn/library/vstudio/ms668604(v=vs.100).aspx
BindingList<T> ç±»
æä¾æ¯ææ°æ®ç»å®çæ³åéåãBindingList<T> ç±»å¯ä»¥ç¨ä½åºç±»ä»¥å建ååæ°æ®ç»å®æºå¶ã
å ·ä½è¯´æåèMSDNææ¡£ï¼http://msdn.microsoft.com/zh-cn/library/vstudio/ms132679(v=vs.100).aspx
两个é½æ¯æ¯æååç»å®çï¼ObservableCollection<T>å®ç°äº INotifyCollectionChanged æ¥å£çæ°æ®éåçå ç½®å®ç°ï¼è¿æä¾äºCollectionChangedäºä»¶ï¼å¨æ°æ®éçåæ´ä¸æä¾ç解å³æ¹æ³å¤ä¸ç¹ã
çä¸ä¸BindingList<T>ï¼æ³¨æprotected override void OnListChanged(ListChangedEventArgs e)çè¿ä¸ªæ¹æ³ï¼å¯ä»¥éåè¿ä¸ªæ¹æ³å®ç°å¼ºå¤§çåè½ã
ä¸é¢åä¸ä¸ªèªå·±çMyBindingList<T> ç±»æ¥å®ç°ä½ æéè¦çåè½ã
public class MyBindingList<T> : BindingList<T>å®æ´çæºä»£ç çä¸é件ã
è¦è§¦åOnListChanged(),ç±»éè¦ç»§æ¿INotifyPropertyChanged并触åå¼æ´æ¹æ¶æ¯ã
代ç å¦ä¸ï¼
public class Student : INotifyPropertyChangedå¨MyBindingListéé¢æ·»å ModeListå±æ§ï¼è®°å½ä¿®æ¹çè®°å½ï¼è®¿é®è¯¥å±æ§å°±è½è·å¾ä¿®æ¹ç项ã
çä¸æ¯ä¸æ¯ä½ éè¦çç»æï¼å¦æçé®ï¼å¯ä»¥ç»§ç»åå¤ã
具体怎么办呢?能给个示例的代码吗?我是个初学者
具体怎么办呢?能给个示例的代码吗?我是个初学者