public object Convert( object[] values, Type targetType, object parameter, CultureInfo culture) { if (values[0] is ESelectionRestrictions && values[1] is bool) { ESelectionRestrictions restriction = (ESelectionRestrictions)values[0]; bool isDirectory = (bool)values[1]; switch (restriction) { case ESelectionRestrictions.DirOnlySingle: return(isDirectory ? Visibility.Visible : Visibility.Collapsed); case ESelectionRestrictions.DirOnlyMultiple: return(Visibility.Collapsed); case ESelectionRestrictions.FileOnlySingle: return(!isDirectory ? Visibility.Visible : Visibility.Collapsed); case ESelectionRestrictions.FileOnlyMultiple: return(Visibility.Collapsed); case ESelectionRestrictions.DirAndFileSingle: return(Visibility.Visible); case ESelectionRestrictions.DirAndFileMultiple: return(Visibility.Collapsed); } } return(Visibility.Collapsed); }
public Explorer(IEnumerable <string> dirs, ESelectionRestrictions selectionRestrictions, string filter) : this(selectionRestrictions, filter) { foreach (string dir in dirs) { AppendNode(dir); } }
public ExplorerNode(string path, ESelectionRestrictions selectionRestrictions, Regex filter) { Path = path; Filter = filter; IsChecked = false; Name = UpdateName(Path); SelectionRestrictions = selectionRestrictions; Icon = AuxiliarySharp.IO.ShellIcon.GetShellIcon(Path); IsDirectory = Alphaleonis.Win32.Filesystem.Directory.Exists(Path); Nodes = new ObservableCollection <ExplorerNode>(); // Adding fake path if (IsDirectory) { Nodes.Add(new ExplorerNode(null, selectionRestrictions, filter)); } }
public ViewModel(IEnumerable <string> dirs, ESelectionRestrictions type, string filter) { Explorer = new Explorer(dirs, type, filter); }
public Explorer(ESelectionRestrictions selectionRestrictions, string filter) { Filter = WildCardToRegular(filter); SelectionRestrictions = selectionRestrictions; Nodes = new ObservableCollection <ExplorerNode>(); }