c#-WPF中的文件选择器对话框在哪里?

[HTTP://i.minus.com/i3徐哦WZ KP发现HN.PNG]

我看不到任何可以让我从计算机中选择文件的东西……必须有一个,它在哪里? 我可能缺少参考?


编辑:我想到的是一个旁边带有“浏览”按钮的文本框。 现在我想到,我可能不得不自己放置文本框并浏览按钮,并向按钮添加click事件以打开对话框。

mpen asked 2020-08-03T06:20:28Z
3个解决方案
53 votes

没有内置控件的文本框旁边带有[浏览]按钮。 您必须自己进行设置。

对于“打开文件”对话框本身,Microsoft.Win32命名空间中有OpenFileDialog

Adam Lear answered 2020-08-03T06:20:48Z
24 votes

要获得更多功能的完整答案,请假定您有一个按钮ToolTipService.ShowOnDisabled="True"和一个文本框TxtFile。首先,您需要从“引用”对话框中引用System.Windows.Forms程序集(请确保选中它,双击它似乎并没有为我添加它) )。

在按钮单击事件内:

private void BtnFileOpen_Click(object sender, RoutedEventArgs e)
{
    var fileDialog = new System.Windows.Forms.OpenFileDialog();
    var result = fileDialog.ShowDialog();
    switch (result)
    {
        case System.Windows.Forms.DialogResult.OK:
            var file = fileDialog.FileName;
            TxtFile.Text = file;
            TxtFile.ToolTip = file;
            break;
        case System.Windows.Forms.DialogResult.Cancel:
        default:
            TxtFile.Text = null;
            TxtFile.ToolTip = null;
            break;
    }
}

如果您将文本框设置为“禁用”,则可能希望编辑XAML以包含

ToolTipService.ShowOnDisabled="True"

Chris Marisic answered 2020-08-03T06:21:17Z
5 votes

我通常只在System.Windows.Forms命名空间中使用OpenFileDialog。 我使用SWF对其进行别名,然后它变得

SWF.OpenFileDialog o = new SWF.OpenFileDialog();
joe answered 2020-08-03T06:21:37Z
translate from https://stackoverflow.com:/questions/7863952/wheres-the-file-picker-dialog-in-wpf