zoukankan      html  css  js  c++  java
  • ObservableCollection类

    https://blog.csdn.net/GongchuangSu/article/details/48832721

    https://blog.csdn.net/hyman_c/article/details/50899321

    聊作总结。

    ObservableCollection< T >类表示一个动态数据集合,在添加项、移除项或刷新整个列表时,此集合将提供通知。

    命名空间: System.Collections.ObjectModel

    程序集:System.ObjectModel(在 System.ObjectModel.dll 中)

    类型参数 T:集合中的元素类型

    一、构造函数

    1. ObservableCollection< T >():初始化 ObservableCollection< T > 类的新实例。
    2. ObservableCollection< T >(IEnumerable< T >):初始化 ObservableCollection< T > 类的新实例,该类包含从指定集合中复制的元素。
    3. ObservableCollection< T >(List< T >):初始化 ObservableCollection< T > 类的新实例,该类包含从指定列表中复制的元素。

    二、属性

    1. Count:获取 Collection< T > 中实际包含的元素数。
    2. Item:获取或设置位于指定索引处的元素。
    3. 其它···

    三、方法

    1. Add:将对象添加到 Collection< T > 的结尾处。
    2. Clear:从 Collection< T > 中移除所有元素。
    3. Contains:确定某元素是否在 Collection< T > 中。
    4. IndexOf:搜索指定的对象,并返回整个 Collection 中第一个匹配项的从零开始的索引。
    5. Insert:将元素插入 Collection< T > 的指定索引处。
    6. Remove:从 Collection 中移除特定对象的第一个匹配项。
    7. RemoveAt:移除 Collection 的指定索引处的元素。
    8. ToString:返回表示当前对象的字符串。
    9. 其它···

    四、事件

          CollectionChanged:在添加、移除、更改或移动项或者在刷新整个列表时发生。

    五、说明

     在许多情况下,所使用的数据是对象的集合。 例如,数据绑定中的一个常见方案是使用 ItemsControl(如 ListBox、ListView 或 TreeView)来显示记录的集合。ObservableCollection<T>就是一个主要用在WPF的控件和数据源的绑定中的集合,例如,

    在xmal文件中,放置一个ListBox控件,名字叫做UserGroupListBox,ItemsSource设置如下:

    <ListBox Name="UserGroupListBox" ItemsSource="{Binding Path=string,Mode=OneWay,UpdateSourceTrigger=PropertyChanged}" Height="214" HorizontalAlignment="Left" Margin="6,64,0,0" VerticalAlignment="Top" Width="173" Loaded="UserGroupListBox_Loaded" SelectionChanged="UserGroupListBox_SelectionChanged" />

    对应的cs文件中:

    ObservableCollection<string> strlist=new ObservableCollection<string>();

    ....

    UserGroupListBox.ItemsSource=strlist;

    这里用ObservableCollection<T>,当strlist发生变化时,UserGroupListBox的界面也会实时更新,而是用List<T>等其他容器是就没有这种效果。

    可以枚举实现 IEnumerable 接口的任何集合。 但是,若要设置动态绑定,以便集合中的插入或删除操作可以自动更新 UI,则该集合必须实现 INotifyCollectionChanged 接口。 此接口公开 CollectionChanged 事件,只要基础集合发生更改,都应该引发该事件。

    WPF 提供 ObservableCollection 类,它是实现 INotifyCollectionChanged 接口的数据集合的内置实现。

    为了完全支持将绑定源对象中的数据值传送到绑定目标,在支持可绑定属性的集合中的每个对象都必须实现适当的属性更改通知机制,如 INotifyPropertyChanged 接口。

  • 相关阅读:
    如何使得VIM显示行号
    mysqlnd cannot connect to MySQL 4.1+ using the old insecure authentication的解决方法
    重启PHP命令
    一个方便的shell命令,查看软件安装目录
    Centos中安装vim
    centos yum安装mysql
    nginx安装php和php-fpm
    大数据实时计算工程师/Hadoop工程师/数据分析师职业路线图
    vim命令
    linux 下MySQL的安装
  • 原文地址:https://www.cnblogs.com/Jeely/p/11076016.html
Copyright © 2011-2022 走看看