// ----------------------------------------------------------------------- // // Copyright 2014 MIT Licence. See licence.md for more information. // // ----------------------------------------------------------------------- namespace Perspex.Controls { using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Collections.Specialized; using System.Linq; using System.Text; using System.Threading.Tasks; /// /// Base class for controls that can contain multiple children. /// public class Panel : Control, IVisual { private PerspexList children; private LogicalChildren logicalChildren; public PerspexList Children { get { if (this.children == null) { this.children = new PerspexList(); this.logicalChildren = new LogicalChildren(this, this.children); } return this.children; } set { this.children = value; if (this.logicalChildren != null) { this.logicalChildren.Change(this.children); } else { this.logicalChildren = new LogicalChildren(this, this.children); } } } IEnumerable IVisual.VisualChildren { get { return this.children; } } } }