Dialoge zum öffnen Datei / Verzeichnis

03/08/2008 - 22:31 von Wojtek Kusch | Report spam
Hallo!
Ich habe eine WPF-App und möchte ein Verzeichnis mit Hilfe eines
Dialoges auswàhlen (button1_Click). Zudem möchte ich auch noch eine
Datei auswàhlen (button2_Click). Die Ergebnisse der Auswahl sollen in
den Textboxen erscheinen. Dazu habe ich folgenden Code:


private void button1_Click(object sender, RoutedEventArgs e)
{
OpenFileDialog openFolderDlg = new OpenFileDialog();
openFolderDlg.Title = "Bitte Verzeichnis auswàhlen";
openFolderDlg.CheckFileExists = false;

openFolderDlg.FileName = "[Verzeichnis auswàhlen...]";
openFolderDlg.Filter = "Verzeichnisse|no.files";
if (openFolderDlg.ShowDialog() == true)
{
//string dir_path =
System.IO.Path.GetDirectoryName(openFolderDlg.FileName);
string dir_path = openFolderDlg.FileName;
if (dir_path != null && dir_path.Length > 0)
{
textBox1.Text = dir_path;
}
}
}

private void button2_Click(object sender, RoutedEventArgs e)
{
OpenFileDialog openFileDialog = new OpenFileDialog();
if (openFileDialog.ShowDialog() == true)
{
textBox2.Text = openFileDialog.FileName;
}
}


Aber ich habe jetz zwei Probleme:
1. Ich möchte ein Verzeichnis auswàhlen, egal in welcher
Hierarcheiebene; das ist mnit meinem Code nicht möglich, wenn noch ein
Unterverzeichnis (U1_1) in einem Verzeichnis (U1) vorhanden ist, wird
dieses aufgemnacht, obwohl ich Verzeichnis U1 auswàhlen möchte.

2. Wenn ich ein Verzeichnis ausgewàhlt habe, und dann den Dialog zum
Aussuchen der Datei aufmache, wird der Pfad aus der Verzeichnisasuwahl
aufgemacht. Wenn ich dann den Dialog zur Verzeichnisauswahl aufmache,
hat es den Pfad aus der Dateiauswahl.
Es sind doch aber zwei unabhàngige Dialoge; waru passiert das?


Danke für die Hilfe!
Wojtek Kusch
 

Lesen sie die antworten

#1 Thorsten Doerfler
03/08/2008 - 22:50 | Warnen spam
Wojtek Kusch schrieb:
Ich habe eine WPF-App und möchte ein Verzeichnis mit Hilfe eines
Dialoges auswàhlen (button1_Click). Zudem möchte ich auch noch eine
Datei auswàhlen (button2_Click). Die Ergebnisse der Auswahl sollen in
den Textboxen erscheinen. Dazu habe ich folgenden Code:


private void button1_Click(object sender, RoutedEventArgs e)
{
OpenFileDialog openFolderDlg = new OpenFileDialog();
openFolderDlg.Title = "Bitte Verzeichnis auswàhlen";
openFolderDlg.CheckFileExists = false;

openFolderDlg.FileName = "[Verzeichnis auswàhlen...]";
openFolderDlg.Filter = "Verzeichnisse|no.files";
if (openFolderDlg.ShowDialog() == true)
{
//string dir_path =
System.IO.Path.GetDirectoryName(openFolderDlg.FileName);
string dir_path = openFolderDlg.FileName;
if (dir_path != null && dir_path.Length > 0)
{
textBox1.Text = dir_path;
}
}
}

private void button2_Click(object sender, RoutedEventArgs e)
{
OpenFileDialog openFileDialog = new OpenFileDialog();
if (openFileDialog.ShowDialog() == true)
{
textBox2.Text = openFileDialog.FileName;
}
}


Aber ich habe jetz zwei Probleme:
1. Ich möchte ein Verzeichnis auswàhlen



Dafür eignet sich der System.Windows.Forms.FolderBrowserDialog besser.
Eine WPF Entsprechung dazu gibt es nicht, jedoch kapselt auch der WPF
OpenFileDialog nur den nativen Win32 Dialog.

Thorsten Dörfler

Ähnliche fragen