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
Post Relacionado:
[twitter-follow screen_name=’eduardorizo’ show_count=’yes’]
Pingback: Free: Curso Windows Phone – Vários tópicos | Blog do Eduardo H. Rizo
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!!
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
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.
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