No more Death March

あるSEのチラシの裏 C# WPF

C# ListをラップしたObservableCollectionのイベント

ObservableCollectionはコンストラクタにListを渡して生成することが出来る。が、生成した後にListクラスを通じてコレクションを編集してもコレクション変更イベントは発生しない。

using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            var list = new List<int>();
            var observable = new ObservableCollection<int>(list);
            observable.CollectionChanged += Observable_CollectionChanged;

            list.Add(1);
            list.Add(2);
            list.Add(3);
            Console.ReadKey();
        }

        private static void Observable_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
        {
            Console.WriteLine("Observable_CollectionChanged Called!!");
        }
    }
}
|cs|<