コード例 #1
0
        public virtual void RejectChanges()
        {
            BeginUpdate();

            try
            {
                foreach (var i in AddedItems.OfType <IRevertibleChangeTracking>())
                {
                    i.RejectChanges();
                }

                foreach (var i in AddedItems)
                {
                    RemoveItem(Items.IndexOf(i));
                }

                foreach (var i in RemovedItems)
                {
                    InsertItem(Items.Count, i);
                }

                foreach (var i in Items.OfType <IRevertibleChangeTracking>())
                {
                    i.RejectChanges();
                }

                AcceptChanges(); // To clear the added and removed collections.
            }
            finally
            {
                EndUpdate();
            }
        }