DataBindPair GetChild(string name) { if (!children.TryGetValue(name, out var result)) { result = new DataBindPair(); children.Add(name, result); result.SetSource(source.GetChildValue(name)); } return(result); }
private void UpdateProvider(string name, DataBindPair value, int layer) { var me = new BindingTreeElement(name, value) { depth = layer, id = datas.Count }; datas.Add(me); var keys = new List <string>(value.children.Keys); keys.Sort(); foreach (var key in keys) { var data = value.children[key]; UpdateProvider($"{name}.{key}", data, layer + 1); } }
public BindingTreeElement(string name, DataBindPair data) : base() { base.name = name; this.dataPair = data; }