Partilhar via


XBAP Hosting exemplo do Silverlight

Este exemplo demonstra o seguinte:

  • Como host um aplicativo do Silverlight em um aplicativo de navegador XAML (XBAP).

  • Como a comunicação entre o host XBAP e o aplicativo baseado no Silverlight hospedado.

Download sample

Hospedando um aplicativo baseado no Silverlight em um XBAP

Aplicativos baseados no Silverlight podem ser hospedados em XBAPs usando o WebBrowser controle. The content of a XBAP Page contains the WebBrowser control whose source URI identifies the HTML page that hosts the Silverlight-based application. The HTML página usa o controle plug-in do Silverlight para hospedar o aplicativo baseado no Silverlight.

A figura a seguir ilustra a arquitetura de alto nível para hospedar um aplicativo do Silverlight em um XBAP.

O aplicativo WPF hospedando um aplicativo Silverlight

Comunicando-se do XBAP para com o Silverlight aplicativo

Um host XBAP pode se comunicar com um aplicativo baseado no Silverlight hospedado por meio de métodos de script implementada pela HTML página que hospeda o aplicativo baseado no Silverlight. An XBAP chama os métodos de script usando o InvokeScript método. Os métodos de script, em seguida, telefonar métodos implementados por um objeto programável que é exposto em um aplicativo baseado no Silverlight e disponível para o script a partir de Content propriedade de controle de plug-in do Silverlight.

A figura a seguir mostra tanto a arquitetura de alto nível para hospedar um aplicativo do Silverlight em um XBAP e a tecnologia de chave usado para propagar as chamadas de método de um host XBAP para um aplicativo baseado no Silverlight hospedado.

O WPF interoperando com o Silverlight

Para telefonar script métodos usando o WebBrowser controle, consulte Exemplo do controle WebBrowser. Para obter mais informações sobre como implementar aplicativos baseados no Silverlight que expõem objetos programáveis, consulte Passo-a-passo: Chamando código gerenciado a partir do JavaScript. Para obter uma introdução ao desenvolvimento de aplicativos baseados no Silverlight, consulte Introdução ao Silverlight.

Comunicando-se do aplicativo baseado no Silverlight para o XBAP

Um aplicativo baseado no Silverlight hospedado pode se comunicar com um host XBAP por meio de métodos de script implementados pela HTML página que hospeda o aplicativo baseado no Silverlight. Um aplicativo baseado no Silverlight chama os métodos de script usando o Invoke método para o HtmlWindow classe (a partir do Silverlight System.Windows.Browser namespace). Um aplicativo baseado no Silverlight obtém uma referência à janela (representada pelo HtmlWindow classe) dos Window propriedade das HtmlPage classe (também na System.Windows.Browser namespace). Os métodos de script, em seguida, telefonar métodos implementados por um objeto programável que é exposto no XBAP, usando o ObjectForScripting propriedade e estão disponível para o script a partir do external propriedade das window objeto que é exposto pelo navegador host.

A figura a seguir mostra tanto a arquitetura de alto nível para hospedar um aplicativo do Silverlight em um XBAP e a tecnologia de chave usado para propagar as chamadas de método de um aplicativo baseado no Silverlight hospedado em um host XBAP.

O Silverlight interoperando com o WPF

Para chamar métodos de script a partir de um aplicativo do Silverlight, consulte Passo-a-passo: Chamada JavaScript a partir de código gerenciado. Para obter mais informações sobre como expor objetos programáveis de XBAPs, consulte Exemplo do controle WebBrowser e ObjectForScripting.

O exemplo de configuração

O exemplo consiste em uma única solução (XBAPHostingSilverlightSample) com dois projetos:

  1. O projeto XBAP (WPFBrowserApplication) que hospeda o aplicativo Silverlight-based.

  2. O projeto de aplicativo Silverlight-based (SilverlightApplication).

SilverlightApplication builds afterWPFBrowserApplication and includes a post-build step that copies the generated Silverlight-based application, silverlightspplication.xap to the WPFBrowserApplication project output folder: \bin\depurar.

O exemplo deve ser configurado para ser executado no localhost de um diretório virtual que aponta para a pasta de saída de projeto WPFBrowserApplication (\bin\depurar) usando as seguintes etapas:

  1. De Iniciar | Ferramentas administrativas, escolher Serviços de Informações da Internet (Serviços de Informações da Internet) Manager.

  2. selecionar Sites da Web | site da Web padrão.

  3. clicar com o botão direito do mouse em Site da Web padrão e escolherAdicionar diretório virtual, em seguida

    1. conjunto o Alias para "WPFBrowserApplication".

    2. conjunto o Caminho físico para o projeto WPFBrowserApplication pasta de saída.

  4. Pressione OK para criar o diretório virtual.

Executando o exemplo

Para executar o exemplo, navegar até a seguinte URL:

https://localhost/WPFBrowserApplication/WPFBrowserApplication.xbap

Práticas recomendadas

Este exemplo demonstra um recurso específico da Windows Presentation Foundation e, consequentemente, não segue boas práticas de desenvolvimento de aplicativos. Para ver uma cobertura abrangente de boas práticas de desenvolvimento de aplicativos Windows Presentation Foundation (WPF) e Microsoft .NET Framework, consulte os seguintes itens conforme adequado:

Acessibilidade - Práticas recomendadas de Acessibilidade

Localização - Visão geral de globalização e localização do WPF

Desempenho-Optimizing WPF Application Performance

Segurança - Windows Presentation Foundation Security

O exemplo de criação

  • Instale o Windows Software Development Kit (SDK) e abra sua janela de comando de ambiente de compilação. No menu Iniciar, aponte para Todos os Programas, Microsoft Windows SDK e clique em Shell CMD.

  • Baixe o exemplo, geralmente da documentação do software development kit (SDK), para a unidade de disco rígido.

  • Para compilar o exemplo na janela de comando do ambiente de compilação, vá para o diretório fonte do exemplo. Na prompt de comando, digite MSBUILD.

  • Para compilar o exemplo em Microsoft Visual Studio, carregue a solução de exemplo ou o arquivo de projeto e, em seguida, pressione CTRL+SHIFT+B.

Executando o exemplo

  • Para executar o exemplo compilado na janela de comandos do ambiente de compilação, execute o arquivo .exe na pasta Bin\Debug ou Bin\Release contida na pasta de código-fonte do exemplo.

  • Para executar o exemplo compilado com a depuração no Visual Studio, pressione F5.

Consulte também

Tarefas

Exemplo do controle WebBrowser

Conceitos

Visão geral de navegação

Visão Geral de Navegação Estruturada

Referência

WebBrowser

Outros recursos

Introdução ao Silverlight

Passo a passo: Chamando código gerenciado a partir do JavaScript

Date

History

Motivo

Julho de 2008

Exemplo de adicionado.

Alteração de recurso do SP1.