Devs

[DEV] Como listar os arquivos do LocalFolder de sua APP e exibir em um ListBox

Olá pessoal, tudo bom?

Neste post demonstro uma maneira de listar os arquivos que você tem armazenado localmente em sua APP (LocalFolder) e exibi-los em um ListBox.

Em primeiro lugar, vamos definir uma classe para representar a lista dos arquivos a serem exibidos. Para o exemplo, identificaremos a classe como Arquivo.cs e nela teremos apenas a representação para o nome e data de criação dos mesmos.

...

namespace Exemplo
{
  public class Arquivo
  {
    //Nome do arquivo
    public string Nome { get; set; }
    //Data de criação do arquivo
    public DateTime DataCriacao { get; set; }
  }
}

...

O segundo passo é você mapear o LocalFolder de sua APP e nele identificar o “diretório” de onde deseja exibir a lista dos arquivos. Veja o código em C#:

async private void ListarArquivos()
{
  try
  {
    //Mapeando o LocalFolder da APP
    StorageFolder folder = ApplicationData.Current.LocalFolder;
    //Posicionando dentro do diretório Imagens
    //Isso não é obrigatório, mas deixei como exemplo para o caso de você querer lista os arquivos de um diretório específico
    StorageFolder imgFolder = await folder.GetFolderAsync("Imagens");
    //Obtendo os arquivos do diretório
    var files = await imgFolder.GetFilesAsync();

    List arquivos = new List();

    //Aqui varremos o objeto files para colocar os arquivos em nossa lista de Arquivos
    foreach (var f in files)
    {
      arquivos.Add(new QrCode { Nome = f.Name, DataCriacao = f.DateCreated.DateTime });
    }

    //Enviando a relação dos arquivos para o ListBox que irá exibi-los
    lbArquivos.ItemsSource = arquivos.OrderBy(x => x.Nome);
  }
  catch (Exception)
  {

  }
}

No terceiro e último passo iremos definir o XAML para o ListBox que exibirá a relação dos arquivos do diretório:

...

  
    
      
        
        
      
    
  

...

Espero ter ajudado.

Abraços,

Eduardo Henrique Rizo (@eduardorizo)

MCP

Post Relacionado: