Beispiel #1
0
        private static ItemProviderResult <FileItem> GetRootItems()
        {
            IEnumerable <FileItem> rootItems = null;
            string path = null;

            Application.Current.Dispatcher.Invoke(() =>
            {
                var compi = new Shell32.Shell().NameSpace(ShellSpecialFolderConstants.ssfDRIVES);
                rootItems = compi.Items().Cast <FolderItem2>()
                            //.Where(f => Directory.Exists(f.Path))
                            .Select(i => new FileItem(i.Path, i.IsFolder ? ItemType.Container : ItemType.Item, i.Name));
                path = compi.Title;

                return(new ItemProviderResult <FileItem>
                {
                    Items = rootItems,
                    PathName = path
                });
            });

            return(new ItemProviderResult <FileItem>
            {
                Items = rootItems,
                PathName = path
            });
        }
Beispiel #2
0
 private static Func <TreeViewItem> GetMyComputerItem()
 {
     return(() =>
     {
         var myComputer = new TreeViewItem(@"", ItemType.Container, Constants.RootName)
         {
             IsExpanded = true
         };
         var compi = new Shell32.Shell().NameSpace(ShellSpecialFolderConstants.ssfDRIVES);
         var rootItems = compi.Items().Cast <FolderItem2>()
                         .Where(f => Directory.Exists(f.Path))
                         .Select(i => new TreeViewItem(i.Path, i.IsFolder ? ItemType.Container : ItemType.Item, i.Name));
         foreach (var item in rootItems)
         {
             myComputer.Children.Add(item);
         }
         return myComputer;
     });
 }