Exemplo n.º 1
0
        public void ExpandAndSelect(string path, bool scrollTo)
        {
            SelectedTreeNode = null;

            if (!Object.ReferenceEquals(path, null))
            {
                ObservableCollection <TreeNode> curChildren = Children;
                TreeNode lastTreeNode = null;

                string[] items = VirtualDrive.Split(path);
                for (int i = 0; i < items.Length; i++)
                {
                    foreach (var child in curChildren)
                    {
                        if (child.ItemName.ToLower().Equals(items[i].ToLower()))
                        {
                            if (i < items.Length - 1)
                            {
                                child.IsExpanded = true;
                            }
                            curChildren  = child.Children;
                            lastTreeNode = child;
                        }
                    }
                }

                if (!Object.ReferenceEquals(lastTreeNode, null))
                {
                    lastTreeNode.IsSelected = true;

                    if (scrollTo)
                    {
                        ScrollTo(lastTreeNode);
                    }
                }
            }
        }