public SmallDataSet()
 {
     var evls = new EventLoopScheduler();
     var ds = new DispatcherScheduler(Dispatcher);
     var myStuff = Environment.GetFolderPath(Environment.SpecialFolder.Personal);
     //var folder = new FolderNode(@"C:\Users\Lee\Documents\\", evls, ds);
     var folder = new FolderNode(myStuff, evls, ds);
     InitializeComponent();
     DataContext = folder;
 }
        public FileNode(string path, FolderNode parent)
            : base(path, parent)
        {
            _name = Path.GetFileName(path);
            var info = new FileInfo(path);
            Length = info.Length;
            CreatedDate = info.CreationTimeUtc;

            IsLoaded = true;
        }
        public FolderNode(string path, IScheduler loadScheduler, IScheduler dispatherScheduler, FolderNode parent)
            : base(path, parent)
        {
            _loadScheduler = loadScheduler;
            _dispatherScheduler = dispatherScheduler;

            IsLoaded = false;

            var directoryInfo = new DirectoryInfo(path);
            _name = directoryInfo.Name;
            CreatedDate = directoryInfo.CreationTimeUtc;


            _loadScheduler.Schedule(LoadChildren);
        }
 protected FileSystemNode(string fullPath, FolderNode parent)
 {
     _fullPath = fullPath;
     _parent = parent;
     _depth = parent == null ? 0 : parent.Depth + 1;
 }