示例#1
0
        private static ObjectBrowserItemViewModel GetChildByName(ObjectBrowserItemViewModel item, string name)
        {
            var children = GetChildren(item);
            ObjectBrowserItemViewModel child;

            children.TryGetValue(name, out child);
            return(child);
        }
示例#2
0
        private static ObjectBrowserItemViewModel FindItemByName(ObjectBrowserItemViewModel item, string name)
        {
            var res1 = GetChildByName(item, name);

            if (res1 != null)
            {
                return(res1);
            }

            var children = GetChildren(item);

            foreach (var i in children)
            {
                var res2 = FindItemByName(i.Value, name);
                if (res2 != null)
                {
                    return(res2);
                }
            }
            return(null);
        }
示例#3
0
        private static Dictionary <string, ObjectBrowserItemViewModel> GetChildren(ObjectBrowserItemViewModel vm)
        {
            var property = vm.GetType().GetProperty("Children", BindingFlags.NonPublic | BindingFlags.Instance);

            return(property.GetValue(vm) as Dictionary <string, ObjectBrowserItemViewModel>);
        }