Olá a todos, tudo bom?
Vamos verificar aqui como possibilitar a troca de uma determinada imagem em tempo de execução (dinamicamente) em uma APP Windows Phone.
No exemplo, permitiremos que o usuário possa escolher a imagem que ele deseja para sua aplicação. Vejamos:
No arquivo .xaml deixe seu código similar ao que segue:
<!--ContentPanel - place additional content here--> <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0"> <Image Height="256" Width="256" HorizontalAlignment="Center" Margin="0,26,0,0" Name="imgPrincipal" VerticalAlignment="Top" /> <TextBlock Text="Escolha uma das imagens abaixo:" Margin="0,400,0,0" HorizontalAlignment="Center" /> <StackPanel Orientation="Horizontal" VerticalAlignment="Top" Margin="0,450,0,0"> <Image Height="80" Width="80" Name="img1" Margin="20,0,10,0" Source="Imagens/NadaConsta.png" Tap="img_Tap" /> <Image Height="80" Width="80" Name="img2" Margin="20,0,10,0" Source="Imagens/Documento.png" Tap="img_Tap" /> <Image Height="80" Width="80" Name="img3" Margin="20,0,10,0" Source="Imagens/Restricao.png" Tap="img_Tap" /> <Image Height="80" Width="80" Name="img4" Margin="20,0,10,0" Source="Imagens/Limite.png" Tap="img_Tap" /> </StackPanel> </Grid>
Repare que há um evento Tap para todas as miniaturas de imagem e é nesse evento que iremos realizar a codificação necessária para a troca da imagem principal. Vamos ao código em C#.
private void img_Tap(object sender, System.Windows.Input.GestureEventArgs e) { //O objeto abaixo é criado para identificarmos qual imagem o usuário selecionou Image i = sender as Image; switch (i.Name) { case "img1": imgPrincipal.Source = new BitmapImage(new Uri("Imagens/NadaConsta.png", UriKind.RelativeOrAbsolute)); break; case "img2": imgPrincipal.Source = new BitmapImage(new Uri("Imagens/Documento.png", UriKind.RelativeOrAbsolute)); break; case "img3": imgPrincipal.Source = new BitmapImage(new Uri("Imagens/Restricao.png", UriKind.RelativeOrAbsolute)); break; case "img4": imgPrincipal.Source = new BitmapImage(new Uri("Imagens/Limite.png", UriKind.RelativeOrAbsolute)); break; } }
Fica a dica!
Grande abraço a todos,
Eduardo Henrique Rizo
[twitter-follow screen_name=’eduardorizo’ show_count=’yes’]
Pingback: Free: Curso Windows Phone – Vários tópicos « Blog do Eduardo H. Rizo
E como fazer pra atualizar a imagem com uma imagem da internet?
Se eu, em vez de colocar o caminho do arquivo colocar um endereço de uma câmera, por exemplo, o aplicativo não atualiza a imagem (mesmo que a imagem tenha sido atualizada no servidor) e continua exibindo a primeira imagem carregada.
Qual comando utilizar para apagar o cache?
Robson, tudo bom?
Para responder sua dúvida, acabei escrevendo um outro post no meu Blog. Acesse o post “Curso Windows Phone – Como utilizar imagens da Internet em sua APP Windows Phone“.
Abraços e não esqueça de curtir o Blog.
Eduardo
Boas,
Sabes como se poe duas imagens *.gif na mesma page estou a tentar por dois gifs diferentes na mesma page.
Segui este toturial:
http://www.c-sharpcorner.com/UploadFile/raj1979/show-gif-images-in-windows-phone-7-1/
Se eu declarar uma nova variavel não aparece nada se eu mudar a imagem da varialvel aparece sempre a mesma
ImageSource = new Uri(“Novaimagem2”, UriKind.Relative);
para este caso estou a usar o VS 2012 express.
Já resolvi no construtor declaro as imagens todas.
Tem como fazer isso utilizando usercontrols? Como se fosse trocar de usercontrols dimamicamente, atravez de butoes no AppBar.
Victor, tudo bom?
Eu creio que seja possível sim, mas nunca fiz. Se quiser tentar eu vou te ajudando…
[]s
Eduardo