Seleccionar múltiples Archivos en un FileDialog

Vamos a mostrar como hacer para seleccionar varios archivos al mismo tiempo en un cuadro de diálogo, funcionalidad muy buena e importante ya que siempre es algo complicado lograr que desde un FileDialog se puedan elegir varios archivos al mismo tiempo, teniendo que recurrir a Flash para lograrlo.

Desde al Xaml vamos a colocar un Button y un ListBox para mostrar los archivos seleccionados

<Grid x:Name="LayoutRoot" Background="White">
    <Button x:Name="browse" Click="browse_Click" Content="..."></Button>
    <ListBox x:Name="fileList" Width="300" Height="200"></ListBox>
</Grid>

 

Ahora vamos a ver como desde Code Behind logramos abrir un diálogo para seleccionar varios archivos.

private void browse_Click(object sender, RoutedEventArgs e)
{
    OpenFileDialog ofd = new OpenFileDialog();
    ofd.Multiselect = true;
    bool? result = ofd.ShowDialog();
    if (!result.HasValue || result.Value == false)
        return;
    var files=ofd.Files.Select(s=>new {Name=s.Name,Length=s.Length}).ToList();
    fileList.ItemsSource=files;
}

Como vemos utilizamos OpenFileDialog para abrir un cuadro de diálogo que nos permite seleccionar la cantidad de archivos que necesitamos.

La propiedad Files del OpenFileDialog nos devuelva los archivos seleccionados, con los que vamos a poder realizar las distintas acciones que requiera nuesta aplicación.

No Comments