DataGrid绑定数据的几点注意事项
1.为何要用 ObservableCollection
1 /// <summary> 2 /// DataGrid表格绑定对象集合 3 /// </summary> 4 ObservableCollection<FrameContent> _FrameContents;
1 public MainWindow() 2 { 3 InitializeComponent(); 4 cboxCount.IsChecked = true; 5 6 this._FrameContents = new ObservableCollection<FrameContent>();//ObservableCollection 7 this.dgFormula.ItemsSource = _FrameContents;//去掉这句话,不能动态添加 姜彦201803151337 8 9 }
因为,http://www.cnblogs.com/jiangyan219/articles/8305182.html ObservableCollection是 表示一个动态数据集合,在添加项、移除项或刷新整个列表时,此集合将提供通知。在更新DataGrid控件里的数据内容时,我们希望是实时更新,所以应该用ObservableCollection,不要用List<> ,虽然都是对象列表,但是List<> 无法实时刷新数据。
当对DataGrid想实现 插入、删除、清空 等相应操作时,只要操作相应的ObservableCollection<>对象即可,比如
| 名称 | 说明 | |
|---|---|---|
![]() ![]() |
Add | 将对象添加到 Collection<T> 的结尾处。 (继承自 Collection<T>。) |
![]() ![]() |
Clear | 从 Collection<T> 中移除所有元素。 (继承自 Collection<T>。) |
![]() ![]() |
ClearItems | 从集合中移除所有项。 (重写 Collection<T>.ClearItems()。) |
![]() ![]() |
Contains | 确定某元素是否在 Collection<T> 中。 (继承自 Collection<T>。) |
![]() ![]() |
CopyTo | 从目标数组的指定索引处开始将整个 Collection<T> 复制到兼容的一维 Array。 (继承自 Collection<T>。) |
1 /// <summary> 2 /// DataGrid表格 清空 3 /// </summary> 4 /// <param name="sender"></param> 5 /// <param name="e"></param> 6 private void dgClear_Click(object sender, RoutedEventArgs e) 7 { 8 this._FrameContents.Clear(); 9 10 }

浙公网安备 33010602011771号