Exemplo n.º 1
0
 protected override T AddItem(T newItem, int index)
 {
     if (_collectionOrder != null)
     {
         index = _collectionOrder.AttachToItemAndDetermineCorrectIndex(newItem);
     }
     return(base.AddItem(newItem, index));
 }
        private TItem UnfilteredAddItem(TSource sourceItem, TItem newItem, int originalIndex)
        {
            int index = -1;

            try
            {
                _log.LazyAdd("Add Converted {0} @ {1}", new Lazy <string>(newItem.ToString), originalIndex);
                index = _collectionOrder == null ? originalIndex : _collectionOrder.AttachToItemAndDetermineCorrectIndex(newItem);
                base.AddItem(sourceItem, newItem, index);
                _log.LazyAdd("Post add collection : {0}", View.Select(v => v.ToString()).Aggregate((t, i) => t + "@@@" + i));
                return(newItem);
            }
            catch (Exception e)
            {
                Debug.Print("Exception while adding item {0} @ {1}: {2}", newItem == null ? "NULL" : newItem.ToString(), index, e);
                Debug.Print(_log.ToString());

                throw;
            }
        }