Acabo de concluir um novo exemplo com
Silverlight 2. É uma aplicação muito simples e o tempo de implementação foi bastante baixo comparado ao que teria que ser feito para fazer semelhante em
HTML.
Tenho uma tela e nela carrego uma imagem com tamanho bem grande
(6750 x 4200, 5,84 MB). Ela é carregada assincronamente, após ser carregado o controle.
De posse do evento
DownloadProgress do objeto
BitmapImage podemos mostrar o progresso do download. O
DownloadProgressEventArgs nos dá a propriedade
Progress, um número de 0 a 100 com o percentual de download feito.
public Page()
{
// Required to initialize variables
InitializeComponent();
var image = new BitmapImage();
image.DownloadProgress += (sender, e) =>
{
this.ProgressTextBlock.Text = e.Progress.ToString();
};
//Objeto Uri com o endereço da imagem
image.UriSource = this.ImageObsoluteUri;
this.DownloadedImage.Source = image;
}
Como podemos ver, com
Silverlight temos uma maneira bem fácil e prática de mostrar download de arquivos.
Aproveitei e coloquei a funcionalidade de
Full Screen, onde pode ser visto que todo o componente foi feito para que suas proporções e posicionamentos não se alterassem de modo que ficasse destorcido. Quem trabalha com
HTML sabe os problema que existem em deixar algo bem centralizado e organizado em qualquer browser.
Quem quiser dar uma conferida,
aqui está o link do exemplo
on-line.