示例#1
0
        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);
        }
示例#2
0
 public Explorer(IEnumerable <string> dirs, ESelectionRestrictions selectionRestrictions, string filter) : this(selectionRestrictions, filter)
 {
     foreach (string dir in dirs)
     {
         AppendNode(dir);
     }
 }
示例#3
0
        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);
 }
示例#5
0
 public Explorer(ESelectionRestrictions selectionRestrictions, string filter)
 {
     Filter = WildCardToRegular(filter);
     SelectionRestrictions = selectionRestrictions;
     Nodes = new ObservableCollection <ExplorerNode>();
 }