public void AddChild(TChild child, StackedContentChildInfo lengthInfo = null, int index = -1) { if ((uint)index <= (uint)children.Count) { children.Insert(index, new ChildInfo(child, lengthInfo)); } else { children.Add(new ChildInfo(child, lengthInfo)); } UpdateGrid(); }
public ChildInfo(TChild child, StackedContentChildInfo lengthInfo) { this.Child = child; this.LengthInfo = lengthInfo?.Clone() ?? new StackedContentChildInfo(); if (this.LengthInfo.Horizontal.GridLength == null) { this.LengthInfo.Horizontal.GridLength = new GridLength(1, GridUnitType.Star); } if (this.LengthInfo.Vertical.GridLength == null) { this.LengthInfo.Vertical.GridLength = new GridLength(1, GridUnitType.Star); } }
public void UpdateSize(TChild child, StackedContentChildInfo info) { foreach (var c in children) { if (c.Child != child) { continue; } c.LengthInfo = info; return; } Debug.Fail("Couldn't find child"); }