private void UpdateFolder() { List <FileItem> folder = new List <FileItem>(); try { if (_SelectedFolder == null) { return; } string path = _SelectedFolder.Path ?? string.Empty; if (!string.IsNullOrEmpty(path)) { if (IsDirectoryChooser) { string[] directories = Directory.GetDirectories(path); foreach (string directory in directories) { DirectoryInfo di = new DirectoryInfo(directory); FileItem item = new FileItem(); item.Path = directory; item.Name = Path.GetFileName(directory); item.Date = di.LastWriteTime.ToString(DateFormat, CultureInfo.InvariantCulture); item.Image = FileInfoHelper.GetSmallImage(directory, true); folder.Add(item); } } else { string[] files = Directory.GetFiles(path); foreach (string file in files) { if (!string.IsNullOrEmpty(SelectedFileFilterExtension)) { if (Path.GetExtension(file) != SelectedFileFilterExtension) { continue; } } FileInfo fi = new FileInfo(file); FileItem item = new FileItem(); item.Path = file; item.Name = Path.GetFileName(file); item.Date = fi.LastWriteTime.ToString(DateFormat, CultureInfo.InvariantCulture); item.Size = string.Format("{0}", fi.Length / 1024); item.Type = FileInfoHelper.GetFileType(file); item.Image = FileInfoHelper.GetSmallImage(file, true); folder.Add(item); } } } } catch (UnauthorizedAccessException) { } Folder = new ReadOnlyCollection <FileItem>(folder); }