示例#1
0
        static bool Remove(ObservableList <TreeNode <TItem> > nodes, Predicate <TreeNode <TItem> > match)
        {
            var index = nodes.FindIndex(match);

            if (index != -1)
            {
                nodes.RemoveAt(index);
                return(true);
            }

            foreach (var node in nodes)
            {
                if (node.Nodes == null)
                {
                    continue;
                }

                if (Remove(node.Nodes, match))
                {
                    return(true);
                }
            }

            return(false);
        }