/// <summary>
 /// Default constructor
 /// </summary>
 public DirectoryStructureViewModel()
 {
     // Create new view models for each drive
     Items = new ObservableCollection <DirectoryItemViewModel>(
         DirectoryStructure.GetLogicalDrives().Select(drive => new DirectoryItemViewModel(drive.FullPath, DirectoryItemType.Drive))
         );
 }
        /// <summary>
        /// Expands directory item and finds all children
        /// </summary>
        private void Expand()
        {
            // Cannot expand a file
            if (this.Type == DirectoryItemType.File)
            {
                return;
            }

            // Find all children of the item
            this.Children = new ObservableCollection <DirectoryItemViewModel>(
                DirectoryStructure.GetDirectoryContents(this.FullPath).Select(content => new DirectoryItemViewModel(content.FullPath, content.Type))
                );
        }