2016-03-28 3 views
2

Referenz starten: Ookii.Dialogs.Wpf.VistaOpenFileDialog:VistaOpenFileDialog nicht mit dem korrekten Anfangsverzeichnis

I Ookii des VistaOpenFileDialog Ausgangsverzeichnis wie folgt festgelegt bin versucht:

VistaOpenFileDialog vfb = new VistaOpenFileDialog(); 
     vfb.Multiselect = true; 
     vfb.Title = "pouet"; 
     vfb.RestoreDirectory = false; 
     vfb.InitialDirectory = @"C:\Users\"; 
     if (vfb.ShowDialog() ?? false) 
     { 
      this.Dispatcher.Invoke(DispatcherPriority.Send, new Action(delegate 
      { 
       for (var i = 0; i < vfb.FileNames.Length; i++) 
       { 
        FileDisplay.Add(vfb.FileNames[i]);      
       } 
      })); 
     } 
    } 

    private void AddFiles_Click(object sender, RoutedEventArgs e) 
    { 
     t = new Thread(new ThreadStart(AddFileDialog)); 
     t.SetApartmentState(ApartmentState.STA); 
     t.Start(); 
    } 

Aber was auch immer ich versuche, nicht funktioniert, wird das Dialog Öffnen Sie niemals zuerst das Ausgangsverzeichnis und öffnen Sie es auch nicht mehr im Ausgangsverzeichnis. Ich kann immer noch eine Ordnerdatei ohne Probleme auswählen.

Ich habe bereits versucht, die folgenden (als Test):

vfb.InitialDirectory = @"C:\Users\"; 
vfb.InitialDirectory = "C:\\Users\\"; 
vfb.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.Desktop).ToString(); 

auch versucht restoredirectory wahr oder falsch nicht alles ändern.

Antwort

1

Ich lief gerade in dieses Problem auch. Ich kann nicht sagen, warum es nicht so funktioniert, aber ich fand, dass, wenn Sie stattdessen die FileName Eigenschaft auf diesen Ordner festgelegt, es unter dem angegebenen Pfad geöffnet:

VistaOpenFileDialog dialog = new VistaOpenFileDialog(); 
// To show the contents of "C:\", i.e. the parent of "Users": 
dialog.FileName = @"C:\Users" 
// To show the contents of the "Users" directory: 
dialog.FileName = @"C:\Users\" 
Verwandte Themen