Curso Windows Phone – 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<Arquivo> arquivos = new List<Arquivo>();

    //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:


...
<ListBox Name="lbArquivos" VerticalAlignment="Top" Height="460" Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
  <ListBox.ItemTemplate>
    <DataTemplate>
      <StackPanel>
        <TextBlock Margin="10,0,0,0" Text="{Binding Nome}" Style="{StaticResource ListViewItemTextBlockStyle}" />
        <TextBlock Margin="10,0,0,0" Style="{StaticResource ListViewItemContentTextBlockStyle}" Text="{Binding DataCriacao}" />
      </StackPanel>
    </DataTemplate>
  </ListBox.ItemTemplate>
</ListBox>
...

Espero ter ajudado.

Abraços,

Eduardo Henrique Rizo

MCP

Post Relacionado: 

[twitter-follow screen_name=’eduardorizo’ show_count=’yes’]

5 comentários em “Curso Windows Phone – Como listar os arquivos do LocalFolder de sua APP e exibir em um ListBox”

  1. Pingback: Free: Curso Windows Phone – Vários tópicos | Blog do Eduardo H. Rizo

  2. Fico muito feliz em ver um artigo recente seu sobre Windows Phone. Achei que havia parado. Acompanhei alguns artigos seus há um tempo atrás e cheguei até a te encaminhar e-mail pedindo orientações sobre como me especializar. Estou estudando através de livros e fóruns. Com certeza estarei de olho aqui com mais frequência. Agradeço por compartilhar seu conhecimento. Parabéns!!

    1. Olá Leonardo, tudo bom?
      Realmente meu tempo está bem escasso nesses últimos tempos e por isso tive que priorizar algumas coisas, MAS não “larguei o osso” e agora estou tentando retornar à ativa.

      Grande abraço,
      Eduardo H. Rizo

      1. Tudo certo. Que bom que ainda continua. Não é fácil encontrar conteúdos sobre Windows Phone, até mesmo em livros, que muitas vezes já estão desatualizados. Pretende colocar conteúdos específicos para Windows 10 Mobile também? Fico me perguntando se muita coisa vai mudar ao desenvolver para o 10. Estou estudando o 8.1 ainda.

      2. Então Leonardo vamos trabalhar daqui para frente focando mais as coisas para Windows 10, mas os conteúdos para 8.1 continuarão.

        []s
        Eduardo H. Rizo

Deixe um comentário para Leonardo Tavares Cancelar resposta