Desenvolvimento - Silverlight
Novidades do Silverlight 4 - Clipboard
Esta nova versão veio recheado de grandes novidades, neste artigo eu vou mostrar como funciona a API que fornece acesso a área de transferência da máquina cliente.
por Emerson Andrade de SouzaNeste artigo vou mostrar uma das muitas novidades do Silverlight 4.0, antes de começarmos quero resaltar que será necessário instalar o .NET Framework 4.0 Beta, e o Visual Studio 2010 Beta ou o Microsoft Expression Blend Preview for .NET 4. Vale lembrar que até o presente momento todas essas versões de softwares são betas ou CTP, por tanto não devem ser usadas em hipótese alguma em produção, o ideal é criar uma VPC e instalar os softwares para estudo.
O Silverlight 4.0 agora fornece acesso a Área de Tranferência da máquina cliente, temos agora no Silverlight 4 uma API multi-plataforma de acesso a Área de Transferência, vou mostrar aqui um exemplo simples, mas bastante útil para entender a classe Clipboard.
Nesta versão beta, o suporte é para texto Unicode (text-only), eu acredito que em breve teremos acesso a outros tipos. Basicamente a classe Sytem.WindowsClipboard tem três métodos estáticos:
- SetText(string text) - Escreve os dados do texto unicode e o envia para a área de transferência, para depois ser acessado pelo o método Clipboard.GetText();
- GetText() - Retorna o texto unicode da área de transferência
- ContainsText() - Retorna um booleano que informa se há texto unicode na área de transferência.
Após
um breve explicação sobre os métodos necessários para este exemplo vamos para a
prática:
Crie uma nova aplicação Silverlight 4, e altere o MainPage.xaml para este
codigo:
o xaml ficará com a seguinte aparência:
Dentro
do arquivo MainPage.xaml.cs vá no EventHandler btnCopiar_Click escreva o
seguinte código:
Clipboard.SetText(txtCopiar.Text);
A primeira parte ja está concluída, agora tecle F5 e faça um teste, digite um texto qualquer no textbox txtCopiar e clique no botão Copiar, agora o seu texto ja esta na área de transferência, para você fazer um teste abra um editor de texto qualquer, pode ser o Bloco de Notas e cole o texto(CTRL+V), você poderá constatar que a demo funcionou.
Agora vamos para a segunda etapa do nosso exemplo, volte para o
aquivo MainPage.xaml.cs e no evento btnColar_Click digite:
txtColar.Text = Clipboard.GetText().ToString();
Teste novamente a sua aplicação teclando F5 e mais uma vez digite qualquer conteúdo no primeiro textbox e clique no botão copiar, o texto foi enviado para a área de transferência, agora clique no botão colar e você verá que o texto foi para o segundo textbox.
Importante: se em algum momento aparecer a mensagem abaixo clique em Yes, para que o Silverlight possa ter acesso a sua área de transferência. Isto é um mecanismo de segurança do silverlight.
Concluimos aqui o nosso exemplo, porém quero mostrar algumas validações que poderá ser colocadas no código caso o primeiro textbox não tiver texto ou caso não haja conteúdo na área de transferência:
Finalizamos aqui mais um estudo sobre as novidades do Silverlight 4.0 versão beta.
- Acessando imagens externa (não compiladas) dentro do mesmo domínioSilverlight
- Trabalhando com enumeradosSilverlight
- Comunicação Local no SilverlightSilverlight
- Gerando Gráficos com Silverlight, WCF e LINQSilverlight
- Usando o Scroll do mouse para dar Zoom em Imagens com Silverlight 4Silverlight