2011-10-23 9 views
39

http://i.minus.com/i3xuoWZkpfxHn.png¿Dónde está el cuadro de diálogo de selección de archivos en WPF?

no veo nada que me permitiera recoger archivos de mi computadora ... tiene que haber uno, ¿dónde está? Probablemente me falta una referencia?


Editar: Lo que tenía en mente era un cuadro de texto con un botón "Examinar" al lado de él. Se me ocurre ahora que probablemente tenga que colocar el cuadro de texto y el botón de exploración yo mismo y agregar un evento de clic al botón para abrir el cuadro de diálogo ...

+0

enlace está roto. – TobiMcNamobi

+0

@TobiMcNamobi Sí ... claro. Lo siento. No puedo encontrarlo en ningún archivo. – mpen

Respuesta

47

No hay control incorporado que tenga un cuadro de texto con un [ Examinar] al lado. Tienes que establecer eso tú mismo.

Para el cuadro de diálogo "abrir archivo" en sí, está el OpenFileDialog in Microsoft.Win32 namespace.

+3

Por curiosidad, ¿cómo difiere el OpenFileDialog en el espacio de nombres Microsoft.Win32 del que está en el espacio de nombres System.Windows.Forms? –

+6

@MattBridges Creo que es básicamente la versión WPF del cuadro de diálogo WinForms que no requiere hacer referencia a System.Windows.Forms.dll. –

4

Generalmente uso el OpenFileDialog en el espacio de nombres System.Windows.Forms. Me Alias ​​usando SWF, y entonces, sólo se convierte en

SWF.OpenFileDialog o = new SWF.OpenFileDialog(); 
19

Para una mayor función de respuesta completa, suponga que tiene un botón y un cuadro de texto BtnFileOpenTxtFile. En primer lugar, debe hacer referencia al ensamblaje System.Windows.Forms desde el cuadro de diálogo de referencias (asegúrese de marcar con una marca de verificación, hacer doble clic en él no parece agregarlo).

Dentro del evento de clic de botón:

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; 
    } 
} 

Si ha configurado el cuadro de texto para personas con discapacidad es posible que desee para editar su xaml para incluir

ToolTipService.ShowOnDisabled="True"

Cuestiones relacionadas