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

mpe*_*pen 44 c# wpf .net-4.0

http://i.minus.com/i3xuoWZkpfxHn.png

我没有看到任何让我从我的电脑中挑选文件的东西......必须有一个,它在哪里?我可能错过了一个参考?


编辑:我想到的是一个文本框旁边有一个"浏览"按钮.现在我发现我可能必须自己放置文本框和浏览按钮,并在按钮上添加一个单击事件以打开对话框...

Ada*_*ear 53

没有内置控件,其文本框旁边有[Browse]按钮.你必须自己设定.

对于"打开文件"对话框本身,OpenFileDialogMicrosoft.Win32命名空间中有.

  • @MattBridges我相信它基本上是WinForms对话框的WPF版本,不需要引用System.Windows.Forms.dll. (6认同)
  • 出于好奇,Microsoft.Win32命名空间中的OpenFileDialog与System.Windows.Forms命名空间中的OpenFileDialog有何不同? (3认同)

Chr*_*sic 26

要获得更完整的功能,请假设您有一个按钮BtnFileOpen和一个文本框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;
    }
}
Run Code Online (Sandbox Code Playgroud)

如果您已将文本框设置为禁用,则可能希望编辑要包含的xaml

ToolTipService.ShowOnDisabled="True"


joe*_*joe 5

我通常只OpenFileDialogSystem.Windows.Forms名称空间中使用。我使用对其进行别名SWF,然后变成

SWF.OpenFileDialog o = new SWF.OpenFileDialog();
Run Code Online (Sandbox Code Playgroud)