/// <summary>
        /// Default Constructor
        /// </summary>
        public DirectoryStructureViewModel()
        {
            // Get The logical Drives
            var children = DirectoryStructure.GetLogicalDrives();

            // Create The View Model From The Data
            this.Items = new ObservableCollection <DirectoryItemViewModel>(children.Select(child => new DirectoryItemViewModel(child.FullPath, child.Type)));
        }
        /// <summary>
        /// Expand this Directory Item and find All the children
        /// </summary>
        private void Expand()
        {
            // We Can not expand a file
            if (this.Type == DirectoryItemType.File)
            {
                return;
            }

            // Find All Childrens
            var children = DirectoryStructure.GetDirectoryContent(this.FullPath);

            this.Children = new ObservableCollection <DirectoryItemViewModel>(children.Select(content => new DirectoryItemViewModel(content.FullPath, content.Type)));
        }