protected override IElement OnBuild(IElementContext context) { IElementParent parent = OnBuildParent(context); OnBuildChildren(parent, context); return(parent); }
/// <summary> /// Initializes a new instance of the <see cref="ElementCollection"/> class. /// </summary> /// <param name="owner">The parent of this collection.</param> public ElementCollection(IElementParent owner) { this.owner = owner; if (owner is ElementBase e) { this.composite = new ObservableComposite <IList <Vertex> >(MakeVerticesObservable(e)); } else { this.composite = new ObservableComposite <IList <Vertex> >(Observable.Never <IList <Vertex> >()); } }
protected virtual void OnBuildChildren(IElementParent parent, IElementContext context) { if (parent == null) { throw new ArgumentNullException(nameof(parent)); } for (int i = 0; i < m_children.Count; i++) { ElementBuilderAsset builder = m_children[i]; IElement child = builder.Build(context); parent.Children.Add(child); } }