public virtual LayerVM DeepClone()
        {
            var result = new LayerVM();

            result.Length = Length;
            return(result);
        }
Example #2
0
        private void Layers_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
        {
            switch (e.Action)
            {
            case System.Collections.Specialized.NotifyCollectionChangedAction.Add:
                for (int i = 0; i < e.NewItems.Count; i++)
                {
                    LayerVM addedVM   = (LayerVM)e.NewItems[i];
                    LayerVM craftedVM = adapter(addedVM);
                    if (e.NewItems.Count == 0)
                    {
                        Layers.Add(craftedVM);
                    }
                    else
                    {
                        Layers.Insert(e.NewStartingIndex + i, craftedVM);
                    }
                }
                break;

            case System.Collections.Specialized.NotifyCollectionChangedAction.Remove:
                if (e.OldItems.Count != 1)
                {
                    throw new InvalidOperationException();
                }
                Layers.RemoveAt(e.OldStartingIndex);
                break;

            default:
                throw new NotImplementedException();
            }
        }