private bool MatchShellItem(IShellTreeItem item, string value)
        {
            foreach (var child in item.Children)
            {
                if (child.IsExpanded)
                {
                    var m = MatchShellItem(child, value);
                    if (m)
                    {
                        return(true);
                    }
                }
                else if (child.Name.ContainsNoCase(value))
                {
                    return(true);
                }
            }

            return(false);
        }
Ejemplo n.º 2
0
        private bool LocatePath(IShellTreeItem parent, string pathPart, Queue <string> partsQueue)
        {
            parent.IsExpanded = true;
            foreach (var item in parent.Children)
            {
                var folder = item.ShellObject as FileSystemKnownFolder;
                if (folder != null)
                {
                    var folderName = folder.Name;
                    if (folderName.EqualsNoCase(pathPart) || folderName.ContainsNoCase(pathPart))
                    {
                        if (partsQueue.Count == 0)
                        {
                            item.IsSelected = true;
                            return(true);
                        }
                        pathPart = partsQueue.Dequeue();
                        return(LocatePath(item, pathPart, partsQueue));
                    }
                }
            }

            return(false);
        }
Ejemplo n.º 3
0
 public bool Filter(IShellTreeItem item)
 {
     return(Filter(item.ShellObject));
 }