Desenvolvendo para Windows 8 – Parte 5 – Compartilhando dados (via Share Charm)
Olá pessoal. Tudo certo?!
No post anterior, mostrei como desenvolver aplicativos que “recebem” dados através da “declaração” do Share Target contract. Nesse post, mostro como desenolver aplicativos que compartilham (enviando) dados no Windows 8.
Para entender o conteúdo desse post, é fundamental a leitura do post anterior.
Se você está chegando agora, e deseja ver essa série desde o seu início, veja o índice de séries.
Como “Sharing” funciona no Windows 8
Para entender, definitivamente, como “Sharing” funciona no Windows 8, considere o diagrama abaixo (extraído do MSDN)

Perceba:
- O Windows 8 possui um “Share Broker” que faz a orquestração do Sharing e é acionado via “Charm Bar”;
- Como indicado no post anterior, podemos desenolver aplicativos que funcionam como “Target” para dados;
- Toda “Page” (aplicativo aberto e ativo) no ambiente ativo pode funcionar como “Source”.
Pegou a idéia?!
Desenvolvendo um Source App
Mais uma vez, desenvolvemos uma aplicação “Metro” partindo do protótipo “Blank Page”.
Segue o Xaml:
Coisa simples! Agora, vamos mostrar o code-behind:
Vamos explicar o que fizemos aqui:
- Assinamos o evento DataRequested do objeto DataTransferManager no OnNavigatedTo (que é executado sempre que uma Page “ganha foco”) – esse é o evento acionado pelo broker do Windows 8;
- Desassinamos o evento DataRequest do objeto DataTransferManager no OnNavigatedFrom (que é executado sempre que uma Page “perde foco”);
- Quando o evento é acionado, “preenchemos” o objeto RequestData que recebemos por parâmetro;
- Podemos notificar “falha” de envio (usando o métdo FailWithDisplayText);
- Podemos “forçar” a execução do Share através do método estático ShowShareUI de DataTransferManager.
Abaixo, você vê nossa aplicação “compartilhando” dados com Email:

Um exemplo mais completo
Se você deseja ver um exemplo “mais rico” de compartilhamento de dados, veja o projeto Sharing content source app sample.
Era isso.
Curtir isso:
Curtir Carregando...
Pingback: Desenvolvendo para Windows 8 – Parte 7 – Entendendo “Contracts” e “Extensions” « Elemar DEV