Se detectar Sample hospedados por navegador
Este exemplo demonstra como detectar se um pedaço de código está sendo executado por um aplicativo de navegador XAML (XBAP) ou um aplicativo autônomo.
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.
Comentários
Este exemplo consiste em uma biblioteca (SharedLibary) compartilhada por um aplicativo de navegador XAML (XBAP) () aplicativoXBAPClient) e um autônomo (Windows) aplicativoWinAppClient). SharedLibrary encapsula a funcionalidade para executar uma tarefa comum a ambos os aplicativos cliente. Parte dessa funcionalidade está mostrando um interface do usuário (UI) Isso é apropriado para o tipo de cliente que está hospedando por exemplo a Page Se navegador hospedado, ou um Window de hospedado por um aplicativo autônomo.
A biblioteca compartilhada usa IsBrowserHosted para detectar se ele está sendo executado em um aplicativo hospedado por navegador ou um aplicativo autônomo.
Observação: |
---|
Você não pode ter o código que instancia um Window no membro do mesmo que o código inspeciona o IsBrowserHosted; Window tem uma demanda de herança que requer o membro no qual ele é seja instanciado ter UIPermission. Para resolver esse problema, você pode refatorar o código, movendo o Window instanciação de código em um método separado que você chamar do mesmo membro no qual IsBrowserHosted é inspecionado, sistema autônomo este exemplo demonstra. |