如何在wpf中使用FolderBrowserDialog?

s2j5cfk0  于 2023-10-22  发布在  其他
关注(0)|答案(1)|浏览(177)
private void btnRadarFolder_Click(object sender, RoutedEventArgs e)
{
    using (var dialog = new System.Windows.Forms.FolderBrowserDialog())
    {
        System.Windows.Forms.DialogResult result = dialog.ShowDialog();

        if(result.)
    }
}

我第一次尝试使用System.Windows.Forms.FolderBrowserDialog时,我得到了表单不存在的错误。所以我安装了okii-dialogs-wpf包,一旦安装,错误就消失了,但我不知道下一步该怎么办。变量结果没有OK或任何属性以继续对话框。
当我点击按钮时,它会像旧的vista风格一样打开对话框浏览器,但我不知道如何在按钮/s点击事件中处理它。

00jrzges

00jrzges1#

调用Ookii文件夹浏览器的方式与FolderBrowserDialog类似,但有两个主要例外:
1.您示例化的类是VistaFolderBrowserDialog,而不是FolderBrowserDialog
1.它返回一个nullable bool而不是一个DialogResult
下面是一些示例代码:

VistaFolderBrowserDialog folderSelector = new() {
    Description = "Description",
    Multiselect = false,
    ShowNewFolderButton = false,
    UseDescriptionForTitle = true
};

bool? result = folderSelector.ShowDialog(parentWindow);
if (result == true) {
    // The OK button was clicked.
} else if (result == false) {
    // The folder selector was closed without clicking the OK button.
} else if (result == null) {
    // Documentation doesn't say when it would return Null. My guess would be if something went wrong.
}

最后,一旦你让Ookii浏览器工作,你可以从你的项目中删除任何对Windows.Forms的引用,因为Ookii不需要它。

相关问题