/// <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); } } }
/// <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); } }