zoukankan      html  css  js  c++  java
  • C#集合之可观察的集合

      如果需要集合中的元素何时删除或添加的信息,可以使用ObservableCollection<T>类。这个类是为WPF定义的,这样UI就可以得知集合的变化。这个类在程序集WindowsBase中定义,需要引用这个程序集。
      ObservableCollection<T>类派生自Collection<T>基类,该基类可用于创建自定义集合,并在内部使用List<T>类。重写基类的虚方法SetItem()和RemoveItem(),以触发CollectionChanged事件。

        static void Main()
            {
              var data = new ObservableCollection<string>();
              data.CollectionChanged += Data_CollectionChanged;
              data.Add("One");
              data.Add("Two");
              data.Insert(1, "Three");
              data.Remove("One");
    
            }
    
            static void Data_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
            {
              Console.WriteLine("action: {0}", e.Action.ToString());
    
              if (e.OldItems != null)
              {
                Console.WriteLine("starting index for old item(s): {0}", e.OldStartingIndex);
                Console.WriteLine("old item(s):");
                foreach (var item in e.OldItems)
                {
                  Console.WriteLine(item);
                }
              }
              if (e.NewItems != null)
              {
                Console.WriteLine("starting index for new item(s): {0}", e.NewStartingIndex);
                Console.WriteLine("new item(s): ");
                foreach (var item in e.NewItems)
                {
                  Console.WriteLine(item);
                }
              }
    
    
              Console.WriteLine();
    
            }
  • 相关阅读:
    北航算法作业三
    水库抽样
    python命名空间
    我说
    Fn键
    windows批处理运行java程序
    Java Sound初探
    java.io.IOException: mark/reset not supported
    三层交换机对链路层数据帧的处理
    北航数值分析作业三
  • 原文地址:https://www.cnblogs.com/afei-24/p/6835420.html
Copyright © 2011-2022 走看看