如何在wpf中存储从FolderBrowserDialog()中选择的目录名称?

本文关键字:选择 wpf 存储 FolderBrowserDialog | 更新日期: 2023-09-27 18:09:42

在我的一个程序中有一个"settings"按钮,用于抓取用户想要使用的目录。

在他们选择一个目录之后,我希望能够返回三条信息。

  1. 选择的目录名。
  2. 该目录下的文件数(仅指文件,不包括其他目录)
  3. 包含目录中所有文件名称的列表。

我一直在看这个页面,我找到了GetFiles()方法,但我还没有弄清楚如何获得目录的名称。任何正确方向的提示都是值得赞赏的。

这是我到目前为止写的。

public void SettingsButton(object sender, RoutedEventArgs e)
    {
        var dialog = new System.Windows.Forms.FolderBrowserDialog();
        System.Windows.Forms.DialogResult result = dialog.ShowDialog();
        if (result == System.Windows.Forms.DialogResult.OK)
        {
            string[] files = Directory.GetFiles(dialog.SelectedPath);
            MessageBox.Show("files found" + files.Length.ToString(), "Message");
        }
    }

我知道上面的代码没有返回文件的名称,但是我知道如何做到这一点的粗略想法,我只是还没有实现它....所以我的问题是关于将他们选择的目录存储为字符串

如何在wpf中存储从FolderBrowserDialog()中选择的目录名称?

这里有一个例子,如何做到这一点,一个简单的foreach:

    public void SettingsButton(object sender, RoutedEventArgs e)
        {
            var dialog = new System.Windows.Forms.FolderBrowserDialog();
            System.Windows.Forms.DialogResult result = dialog.ShowDialog();
            if (result == System.Windows.Forms.DialogResult.OK)
            {    
                string[] files = Directory.GetFiles(dialog.SelectedPath);
                string resultStr = string.Empty;
                foreach (String item in files)
                {
                    resultStr += item.ToString() + "'n";
                }
                MessageBox.Show("path:" + dialog.SelectedPath + "'n" + 
                                "files: " + files.Count().ToString() + "'n" + 
                                 resultStr, "Message");
            }
        }
using System.Windows.Forms;
FolderBrowserDialog() dialog = new FolderBrowserDialog();
DialogResult result = dialog.ShowDialog();