using System; namespace Showcase.WPF.DragDrop.Models { public class ClonableItemModel : ItemModel, ICloneable { public ClonableItemModel() { } public ClonableItemModel(int itemIndex) : base(itemIndex) { } public object Clone() { var clonableItemModel = new ClonableItemModel(); clonableItemModel.BindableDoubleValue = this.BindableDoubleValue; clonableItemModel.SubItemCollection.Clear(); foreach (var subItem in this.SubItemCollection) { clonableItemModel.SubItemCollection.Add(subItem); } clonableItemModel.SelectedSubItem = this.SelectedSubItem; clonableItemModel.Index = this.Index; clonableItemModel.Caption = $"Cloned Item {this.Index}"; return clonableItemModel; } } }