Criando um Sidebar Gadget para Vista usando o Microsoft Silverlight

5 08 2010
Seguindo meus estudos me deparei com o sidebar gadget feito com Silverlight e como de costume semple que encontro um bom material em ingles traduzo para poder entender e posto aqui para que outras pessoas tambem se beneficien desse material. Apesar desse post ter sido escrito em 2008 a forma de desenvolvimento ainda e a mesma tornando-o valido.
Esse post foi copiado e traduzido do blog do Ioan Lazarciuc’s.
Introdução

Algum tempo atrás eu fiz um post sobre como criar uma Vista Sidebar gadget usando JavaScript. Também mencionei que eu tentei criar o gadget usando XBAP ou Silverlight, mas devido às limitações nessas tecnologias, nesse momento, eu decidi que tinha que desistir de muita da funcionalidade específica gadget da barra lateral (flyouts, os dados de domínio cruzado recuperação).

Mais de 6 meses se passaram desde então e agora tenho o prazer de anunciar que eu mudei minha opinião sobre Sidebar gadgets Silverlight. Devido ao fato de que a tecnologia Silverlight amadureceu muito (versão 2.0 beta 2 já está disponível), os gadgets da barra lateral podem ser desenvolvidos usando essa tecnologia, sem sacrificar qualquer funcionalidade específica gadget da barra lateral. Isto é devido ao fato de que existe a plena interoperabilidade entre Silverlight e código JavaScript. Além disso, chama domínio cruz agora são permitidos em Silverlight, para recuperação de dados não é mais um problema. Além disso, tem sido muito maior devido ao fato de que uma pessoa pode consumir WCF serviços usando Silverlight.

Primeiros passos

O primeiro passo é ter um olhar sobre a “clássica” forma de desenvolver gadgets da barra lateral. Mesmo que a maioria do trabalho duro “pode agora ser feito em Silverlight, a fiação”, as entranhas do gadget todo ainda são os clássicos, com base em JavaScript e HTML. Em seguida, se você não estiver familiarizado com o desenvolvimento do Silverlight, eu recomendo que você gaste algum tempo a ficar confortável com o Silverlight. Para isso, você pode visitar http://www.silverlight.net e experimentar os tutoriais lá.

O resultado de minhas investigações neste assunto é um projeto do Visual Studio modelo que pode ser usado para iniciar rapidamente o desenvolvimento de um gadget da Barra Lateral do Silverlight. Eu tenho inspirado no modelo Tim Heuer criou para saltar a partir do desenvolvimento Sidebar gadget usando apenas JavaScript / HTML. Os requisitos para instalar e usar o modelo são:

  • Microsoft Visual Studio 2008 (Standard ou mais)
  • Microsoft Silverlight 2.0 beta 2
  • Silverlight Tools Beta 2 do Visual Studio 2008

Depois de baixar o instalador a partir do modelo aqui, a fim de instalá-lo, basta executar o arquivo baixado. O Visual Studio Content Installer irá lidar com o resto (clique ao lado e ignorar os avisos de segurança, porque eu não assinar o modelo).

Depois de instalar o modelo, a fim de criar um novo gadget da barra lateral, no Visual Studio, clique em File> New> Project. Você vai notar que sob o nó C #, no fundo, em “My Templates”, uma entrada nova apareceu: “Silverlight Sidebar Gadget”. Dê o nome de uma solução e, em seguida, clique em OK.

NewProject

Você vai notar que 6 projetos foram automaticamente adicionado à solução recém-criado: SilverlightSidebarGadgetWeb, SilverlightGadgetDocked, SilverlightGadgetUnDocked, SilverlightGadgetSettings, SilverlightGadgetFlyout e SilverlightGadgetUtilities. Em fim, estas correspondem a: o principal projeto de web site gadget que vai realmente acabar sendo implantado (todo o conteúdo eo código é adicionado a este site), o controle do Silverlight que é exibida quando o gadget está acoplado, o controle do Silverlight que é exibido quando o gadget é desencaixado, o controle do Silverlight que é exibido na página de configurações do gadget, o controle do Silverlight que é exibido na página flutuante do dispositivo e uma biblioteca de utilidades para o Silverlight, fornecendo um código gerenciado da API de gadgets da barra lateral. Esta API traduz em chamadas na JavaScript Sidebar Gadget API.

IMPORTANTE: Devido às limitações na forma como o modelo é construído, as aplicações Silverlight tem que ser adicionado o principal projeto gadget manualmente. Isso pode ser feito indo para as páginas de propriedades para o projeto de site, o Silverlight guia Aplicativos e clique em Adicionar para cada projeto Silverlight adicionais. Desmarque a opção “Adicionar uma página de teste que faz referência ao controle de caixa”, e certifique-se o Silverlight Enable “depuração” está marcada se você quiser capacidade de depuração para o Silverlight.Silverlight e depuração de JavaScript simultânea não for possível no momento atual (depuração requer Silverlight desativar depuração de script do IE).

AddSilverlightApplications

Em uma versão mais recente do modelo de projeto este não será mais necessário, mas para isso eu tenho que adicionar um assistente personalizado para o modelo de projeto que pode preparar os projetos no modelo.

O código é comentado, então eu não vou cobri-lo em detalhe. Além disso, por orientação do desenvolvimento Sidebar gadget, leia o meu anterior post sobre o assunto. O dispositivo é configurado para usar controles Silverlight para cada página do gadget. Isso não é obrigatório, e os controles do Silverlight pode ser removido do projeto (junto com seus projetos de forma a solução), conforme necessário. Há duas classes principais definidos na classe SilverlightGadgetUtilities: SilverlightGadget e SilverlightGadgetEvents. O primeiro é usado para acessar o JavaScript Sidebar Gadget API. O segundo é usado para expor os eventos relacionados com JavaScript como um dispositivo gerenciado eventos nos controles Silverlight.

Conhecido “solavancos”

Há algumas coisas que simplesmente não vai funcionar, não importa o quão duro você tente fazê-los funcionar. Geralmente isso ocorre devido ao fato de que o gadget da barra lateral atual API ou a experiência do usuário gadget fornecido pela Microsoft não permite isso. Estes “caipira-ups” estão especificados nos comentários de documentação das classes ou diretamente como comentários.

Devido ao fato de que o objeto Gadget JavaScript não permite anexar manipuladores de eventos para o mesmo evento, deve-se tomar cuidado que manipulador de evento é registrado para um evento particular. resultados possíveis são: eventos que não se desencadeou a todos nos controles Silverlight, os eventos que se desencadeou em apenas alguns controles Silverlight.

Devido à experiência do usuário com os gadgets da barra lateral, alguns eventos não podem ser acionados em Silverlight controles: o encaixado, eventos Cortada, todos os eventos gadget no flutuante, etc

Algumas propriedades da classe SilverlightGadget são somente leitura mesmo que o gadget da barra lateral JavaScript API especifica que são de leitura e escrita. Isto é devido ao fato de que tentar definir essas propriedades resultaram em exceções em tempo de execução e as exceções são provavelmente causados pela própria API JavaScript.

Eu tentei “descobrir” todos esses “solavancos” que possam aparecer e documentá-los diretamente no modelo. Se há algo que eu perdi ou você tem uma pergunta, por favor entre em contato comigo ou postar um comentário e vou tentar modificar o modelo para corrigir o problema ou documento. Além disso, quaisquer sugestões para melhorar este modelo de projeto são bem-vindas.

Estou ansioso para ver muitos gadgets Silverlight Sidebar sendo desenvolvido. Se você criar um dispositivo tão usando este modelo de projeto, por favor me avise por postar um comentário com um link para a página do Live Gallery gadget ou um link para uma página que descreve-lo.

Mais uma vez, o link para o projeto do Visual Studio modelo é mostrada abaixo.

FILE: SilverlightSidebarGadget.vsi

UPDATE: Se você tiver o Microsoft Visual Studio 2008 SP1 instalado, você precisará doMicrosoft Visual Studio Tools Beta 2 do Visual Studio 2008 , a fim de ser capaz de criar projetos Silverlight. Isto também significa que você não pode usar o modelo fornecido sem instalar a nova versão do Silverlight Tools.

UPDATE 2: Eu tenho atualizado os projetos no modelo para o Silverlight 3 Beta. O modelo correspondente pode ser encontrado aqui.

UPDATE 3: Eu criei uma versão do modelo para o Silverlight 2 final. O modelo correspondente pode ser encontrado aqui.

UPDATE 4: eu atualizei os projetos no modelo para o Silverlight 3 RTW. O modelo correspondente pode ser encontrado aqui.

UPDATE 5: Eu criei uma versão do modelo usando o Visual Basic projetos. O modelo correspondente pode ser encontrado aqui.

UPDATE 6: Eu criei uma versão do modelo para o Visual Studio 2010, usando o formato de nova prorrogação. O modelo correspondente pode ser encontrado aqui.

Anúncios

Ações

Information

One response

6 08 2010
Artigos da semana « Fernando Ottoboni

[…] Criando um Sidebar Gadget para Vista usando o Microsoft Silverlight […]

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s




%d blogueiros gostam disto: