예제 #1
0
        /// <summary>
        /// ディレクトリのツリー表示を更新する
        /// </summary>
        private void UpdateDirectoryTree()
        {
            Items.Clear();

            // 自然ソート順でディレクトリリストをソート
            var sortDirectoryInfos = innerDirectory.GetDirectories().OrderBy(directory => directory, new NaturalDirectoryInfoNameComparer());

            foreach (var directory in sortDirectoryInfos)
            {
                // 1文字目の文字を確認
                var fileNameFirst = Path.GetFileName(directory.FullName).Substring(0, 1);

                // Windowsの特殊フォルダ以外を表示する
                if (fileNameFirst != "$" && (directory.Attributes & FileAttributes.Hidden) != FileAttributes.Hidden)
                {
                    var node = new ExplorerItem(directory.FullName, false);
                    Items.Add(node);
                }
            }
        }
예제 #2
0
        /// <summary>
        /// Set Directory information to Tree.
        /// </summary>
        /// <returns>List of directory information</returns>
        private void UpdateDirectoryTree()
        {
            // Clear the set empty item.
            Items.Clear();

            // Regenerate the directory order by rearranging it in natural order.
            IOrderedEnumerable <DirectoryInfo> sortDirectoryInfos = innerDirectory.GetDirectories().OrderBy(directory => directory, new NaturalDirectoryInfoNameComparer());

            foreach (DirectoryInfo directory in sortDirectoryInfos)
            {
                // Get the first character of the file name.
                var fileNameFirst = Path.GetFileName(directory.FullName).Substring(0, 1);

                // If the first character is "$" or the attribute is hidden, it is skipped because it is a Windows special file.
                if (fileNameFirst == "$" || (directory.Attributes & FileAttributes.Hidden) == FileAttributes.Hidden)
                {
                    continue;
                }

                var node = new ExplorerItem(directory.FullName, false);
                Items.Add(node);
            }
        }