Desenvolvimento - Silverlight

Acessando imagens externa (não compiladas) dentro do mesmo domínio

Este artigo demonstra como consumir uma imagem em uma aplicação Silvelright sem que ela esteja compilada dentro do XAP da aplicação, ou seja, a imagem pode ser alterada sem a necessidade de recompilar a aplicação.

por Djonatas Tenfen



Olá, neste post quero demostrar como chamar uma imagem sem que ela esteja compilada dentro do XAP, ou seja, a imagem pode ser alterada sem a necessidade de recompilar o XAP.

Primeiro crie 2 controles Button e 2 controles Image conforme XAML

<Button Content="Button" Height="32" HorizontalAlignment="Left" Margin="162,80,0,0" Name="button1" VerticalAlignment="Top" Width="127" Click="button1_Click" />

<Image Height="100" HorizontalAlignment="Left" Margin="12,12,0,0" Name="image1" Stretch="Fill" VerticalAlignment="Top" Width="130" />

<Button Content="Button" Height="32" HorizontalAlignment="Left" Margin="162,196,0,0" Name="button2" VerticalAlignment="Top" Width="127" Click="button2_Click" />

<Image Height="100" HorizontalAlignment="Left" Margin="12,128,0,0" Name="image2" Stretch="Fill" VerticalAlignment="Top" Width="130" />

A implementação do Click do botão button1 ficará assim:

BitmapImage img = new BitmapImage();
img.UriSource = new System.Uri(Application.Current.Host.Source, "NovaLogo.jpg");
image1.Source = img;

neste código o Silverlight irá carregar a imagem contida dentro da pasta ClientBin ( ou a pasta que conter o XAP da aplicação ) diretório este utilizado como root em aplicações Silverlight, caso a imagem esteja em uma outra pasta como a pasta Imagens da aplicação devemos usar os padrões de caminho dinâmico conforme demonstrado na implementação do botão button2.

BitmapImage img = new BitmapImage();
img.UriSource = new System.Uri(Application.Current.Host.Source, "../Imagens/NovaLogo.jpg");
image2.Source = img;

veja que neste exemplo eu voltei um diretório e depois carreguei uma imagem contida na pasta Imagens esta que estará no root da WebApplication.

Então é isso

Abraço

Djonatas Tenfen

Sócio Gerente CodeTec Solutions

Djonatas Tenfen

Djonatas Tenfen - Microsoft Certified Professional, entusiasta Microsoft trabalha com desenvolvimento de software a mais de 6 anos, a 2 anos está se dedicando a plataforma Microsoft Silverlight, C# e Windows Phone 7, sócio da CodeTec Solutions empresa especializada em desenvolvimento e consultoria de aplicações Silverlight.
WebCaster MSDN Microsoft, ministrando várias webcast sobre Silverlight, líder da comunidade Silverlight Brasil, palestrante do TechEd 2010, palestrante em diversos Eventos Microsoft pelo Brasil.
Twitter:
http://twitter.com/djonatastenfen
Blog: http://djonatastenfen.spaces.live.com
Comunidade Silverlight Brasil: http://silverlightbrasil.ning.com