Modelos de projeto C#, VB e C++ para aplicativos da Windows Store

Applies to Windows and Windows Phone

Saiba como os modelos de projeto do Microsoft Visual Studio podem ajudar você a criar aplicativos para o Windows e o Windows Phone 8.1. Este tópico descreve cada modelo e ajuda você a escolher um.

Para saber sobre os modelos de projeto para JavaScript, veja Modelos de projeto JavaScript para aplicativos da Windows Store.

Para saber mais sobre modelos de projetos para Blend para Visual Studio, veja Criar um novo projeto.

Para obter os modelos, você vai precisar de uma versão do Visual Studio que dê suporte ao desenvolvimento do Windows. Para saber mais, veja Obter as ferramentas.

Importante  As informações desse tópico foram atualizadas para o Windows 8.1. Para saber mais sobre como migrar para os novos modelos, veja Windows 8 para Windows 8.1 para desenvolvedores XAML e Redirecionar seu aplicativo Windows 8 para Windows 8.1.

Mapa: como este tópico está relacionado aos outros? Veja estes tópicos:

Resumo de modelos de projeto

A caixa de diálogo Novo Projeto organiza modelos em três grupos: Aplicativos Windows, Aplicativos do Windows Phone e Aplicativos universais. Esta imagem mostra cada grupo. Para aprender mais sobre cada um deles, veja Escolha que tipo de aplicativo você deseja criar.

Categorias de aplicativos da Windows Store

Cada grupo contém uma lista de modelos. Embora eles apareçam em uma única lista, pense nesses modelos como pertencentes a uma das categorias a seguir.

  • Modelos que você usa para criar um aplicativo.
  • Modelos que você usa para criar partes de um aplicativo.
  • Modelos que você pode usar para testar um aplicativo.

Modelos que você pode usar para criar um aplicativo.

Normalmente, você inicia com um desses modelos.

ModeloDescrição
Em brancoUm projeto para um aplicativo de única página da Windows Store ou da Loja do Windows Phone que não tem controles ou layouts predefinidos. Use este modelo se quiser criar um aplicativo do zero, sem nenhum código inicial ou XAML.

Importante  Projetos em branco não manipulam o botão voltar de um Windows Phone. Por padrão, o aplicativo se fecha quando o usuário pressiona esse botão. Se você criar um projeto Em branco para um aplicativo da Loja do Windows Phone, veja a seção Manipulando o botão Voltar de um Windows Phone em projetos Em branco deste tópico.

HubUm projeto para um aplicativo de três páginas da Windows Store ou da Loja do Windows Phone que usa um controle de Hub. Páginas dedicadas exibem detalhes do grupo e do item.

Para obter mais informações, veja Hub.

GradeUm projeto para um aplicativo de três páginas da Windows Store ou da Loja do Windows Phone que navega entre itens agrupados organizados em uma grade. Páginas dedicadas exibem detalhes do grupo e do item.

Para obter mais informações, veja Grade.

DivisãoUm projeto para um aplicativo de duas páginas da Windows Store ou da Loja do Windows Phone que navega entre itens agrupados. A primeira página permite a seleção de grupo, enquanto a segunda página exibe uma lista de itens ao lado de detalhes do item selecionado.

Para obter mais informações, veja Dividido.

PivotUm projeto para um aplicativo da Loja do Windows Phone que usa um controle Pivot e o Tempo de Execução do Windows.

Para obter mais informações, veja Pivot.

WebViewUm projeto para um aplicativo da Loja do Windows Phone que usa um controle Pivot e o Tempo de Execução do Windows.

Para obter mais informações sobre o controle WebView, veja Webview

DirectXUm projeto para um aplicativo da Windows Store ou da Loja do Windows Phone que usa o DirectX e o Tempo de Execução do Windows.

Para obter mais informações, veja Usar os modelos DirectX do Microsoft Visual Studio 2013.

DirectX e XAMLUm projeto para um aplicativo da Windows Store ou da Loja do Windows Phone que usa o DirectX, XAML e o Tempo de Execução do Windows.

Para obter mais informações, veja Usar os modelos DirectX do Microsoft Visual Studio 2013.

 

Observação  Os nomes de alguns modelos têm (Windows Phone Silverlight) acrescentados ao final. Considere o uso desses modelos se tiver previamente desenvolvido para o Windows Phone 8 e só quiser acessar alguns dos novos recursos disponíveis para aplicativos Windows Phone sem ter que modificar significativamente o seu código existente. Para obter mais informações sobre esses modelos e por que você pode usá-los, consulte Aplicativos Silverlight 8.1 para Windows Phone.

Modelos que você usa para criar partes de um aplicativo.

À medida que seu aplicativo se torna mais sofisticado, você pode decidir adicionar funcionalidades, como componentes, usando um desses modelos.

ModeloDescrição
DLL(Somente C++) Um projeto para uma biblioteca de vínculo dinâmico nativo (DLL) que pode ser usado por um aplicativo da Windows Store, da Loja do Windows Phone ou um componente de Tempo de Execução do Windows escrito em C++.

Para obter mais informações, veja DLLs em Visual C++.

Biblioteca estática(Somente C++) Um projeto para uma biblioteca de vínculo estático nativo (LIB) que pode ser usado por um aplicativo da Windows Store, da Loja do Windows Phone ou um componente de Tempo de Execução do Windows escrito em C++.

Para obter mais informações, veja Instruções detalhadas: criando e usando uma Biblioteca Estática (C++).

Biblioteca de classesUm projeto para criar uma biblioteca de classe gerenciada (.dll) para aplicativos da Windows Store ou da Loja do Windows Phone escritos em C# ou Visual Basic.
Biblioteca de classes (Portátil)Um projeto para criar uma biblioteca de classe gerenciada (.dll) para aplicativos da Windows Store, da Loja do Windows Phone e Silverlight escritos em C# ou Visual Basic.

Para obter mais informações, veja Desenvolvimento entre plataformas com o .NET Framework.

Componentes do Tempo de ExecuçãoUm projeto para criar um componente C++ ou do Tempo de Execução do Windows que pode ser consumido por qualquer aplicativo da Windows Store, independentemente da linguagem de programação em que o aplicativo foi escrito.

Para obter mais informações, veja Criando componentes do Tempo de Execução do Windows.

 

Modelos que você usa para testar um aplicativo

À medida que se aproximar de publicar seu aplicativo, considere o uso de um desses modelos para otimizar o desempenho e a qualidade do código.

ModeloDescrição
Biblioteca de Teste de UnidadeUm projeto que contém testes de unidade que podem ser usados para testar aplicativos da Windows Store, componentes do Tempo de Execução do Windows ou bibliotecas de classes de aplicativos da Windows Store.

Para obter mais informações, veja Criar e executar testes de unidade para um aplicativo da Windows Store no Visual Studio.

Teste de interface do usuário codificadoUm projeto que contém testes de interface do usuário codificados para testes automatizados da interface do usuário de aplicativos da Windows Store.

Para obter mais informações, veja Verificando códigos usando a automação da interface do usuário.

 

Uma análise mais detalhada dos modelos

A menos que inicie com um modelo Em branco e crie o seu aplicativo do zero, provavelmente, você iniciará usando um Hub, uma Grade, Dividido, Pivot ou um modelo de projeto. Veja detalhes de cada um.

Se quiser saber mais sobre como usar os modelos DirectX e DirectX e XAML, veja Usar os modelos DirectX do Microsoft Visual Studio 2013.

Modelo de projeto de Hub

O modelo Hub é similar ao modelo Panorama no Windows Phone 8.

Use esse modelo para exibir conteúdo em uma visão panorâmica horizontal que forneça várias maneiras de acessar o conteúdo.

A página Hub principal organiza o conteúdo em seções, como novos itens, itens realçados e categorias de itens. Esse modelo é uma excelente opção para aplicativos de compras, notícias, esportes ou hub de mídia.

Se o usuário toca em um título de seção interativo (indicado por um ">"), o aplicativo abrirá a página de seção que lista os itens associados a essa seção. Se ele escolher um item na home page ou na página de seção, um modo de exibição de página inteira mostrará detalhes sobre o item. Essa imagem mostra a página inicial de um aplicativo de Hub que possui pelo menos três seções.

Modelo de projeto de Aplicativo Hub para Windows

Essas seções que aparecem no designer são exemplos de tipo de conteúdo que é possível exibir. Você pode facilmente adicionar e remover seções para que o seu aplicativo mostre o conteúdo que você quer e da maneira que você quer.

As seções do modelo incluem conteúdo estático, por isso, é fácil fornecer recursos globalizados. O arquivo de recurso de exemplo oferece cadeias de caracteres localizadas para a localidade en-us.

Veja exemplo de como usar o modelo de projeto de Hub para ajudar os usuários a comprar imóveis, em Guia de início rápido: ler dados de um serviço.

  • Applies to Windows

Modelo de projeto de Grade

O modelo de aplicativo de Grade é outra maneira de permitir que os usuários naveguem pelas categorias de conteúdo. Esse modelo é uma excelente opção para aplicativos de compras, notícias, fotos ou vídeo.

O aplicativo de Grade mostra uma lista de grupos. Se o usuário escolher um grupo, o aplicativo abrirá a página de detalhes desse grupo, que exibe uma lista dos itens à direita. O usuário pode selecionar um item na home page ou na página de detalhes do grupo. Isso abre um modo de exibição em página inteira que pode ser usado para mostrar detalhes do item. Esta imagem mostra a página inicial de um aplicativo de Grade.

Modelo de projeto de Aplicativo de Grade
  • Applies to Windows

Modelo de projeto Dividido

O modelo de aplicativo Dividido mostra uma lista de itens e detalhes de itens em uma exibição de duas colunas. Os usuários podem alternar rapidamente entre os itens e visualizar informações em listas que podem ser atualizadas dinamicamente. Esse modelo é uma excelente opção para aplicativos de leitura de notícias, resultados de esportes ou de email.

O modelo de aplicativo Dividido mostra uma lista de grupos. Quando o usuário escolhe um grupo tocando ou clicando nele, o aplicativo abre a página de modo de exibição dividido. Esta imagem mostra a página de modo de exibição dividido.

Modelo de projeto de Aplicativo Dividido

A página do modo de exibição dividido mostra um modo de exibição de duas colunas (ou um modo de exibição mestre/de detalhes), no qual os detalhes no lado direito mudam conforme um usuário escolhe um item no lado esquerdo. Imagine uma lista de notícias no lado esquerdo e as notícias propriamente ditas no lado direito.

  • Applies to Windows Phone

Modelo de projeto Pivot

Um modelo de aplicativo Pivot proporciona uma maneira rápida de gerenciar modos de exibição ou páginas. Ele pode ser usado para filtrar grandes conjuntos de dados, visualizar vários conjuntos de dados ou alternar exibições do aplicativo. Por exemplo, mover ou mover panoramicamente da esquerda para a direita avança a página para a próxima página de conteúdo. Esta imagem mostra a página inicial de um aplicativo Pivot.

Modelo de projeto Pivot
  • Applies to Windows Phone

Manuseando o botão de voltar de um Windows Phone em projetos Em branco

Projetos em branco não manipulam o botão voltar de um Windows Phone. Por padrão, o aplicativo se fecha quando o usuário pressiona o botão de voltar.

Outros modelos de projeto manipulam o botão de voltar com o uso do arquivo NavigationHelper .cs|.vb|.cpp|.h. Para obter uma cópia do arquivo NavigationHelper .cs|.vb|.cpp|.h, adicione uma página Básica ao seu projeto.

Assim que o projeto contiver o arquivo NavigationHelper .cs|.vb|.cpp|.h, exclua a página Básica do seu projeto se não a quiser. Em seguida, para manipular o botão de voltar de um Windows Phone, adicione um campo privado chamado navigationHelper de tipo NavigationHelper à página Em branco. Em seguida, adicione a seguinte linha de código para o construtor da página Em branco:


this.navigationHelper = new NavigationHelper(this);

Navegação, gerenciamento de estado e vinculação de dados

As páginas no Hub, na Grade, em Dividido e em Pivot já implementam navegação, gerenciamento de estado e vinculação de dados.

Navegação e gerenciamento de estado

Os modelos de projeto de aplicativo Hub, Grade, Dividido e Pivot permitem a navegação de página. Você pode facilmente permitir a navegação para novas páginas que usam auxílio de navegação

O modelo de navegação que o modelo usa é o modelo de navegação recomendado para aplicativos que utilizam C++, C# ou Visual Basic. Nesse modelo, as páginas XAML são carregadas em um quadro central como o conteúdo da janela padrão e, então, os usuários navegam para outras páginas usando esse quadro. As páginas são carregadas conforme necessário, geralmente em resposta às ações do usuário. Muitas vezes, os desenvolvedores da Web chamam esse tipo de modelo de navegação de navegação de página única.

O manipulador de navegação é implementado em Common\NavigationHelper. O modelo de navegação de página única oferece uma transição suave entre as páginas e também facilita o gerenciamento do estado de aplicativo, através do contexto amplo de aplicativo único.

O modelo de navegação permite que o aplicativo mantenha vários estados. Por exemplo, suponha que um usuário inicie um aplicativo de música a partir de um bloco primário, selecione um artista e depois feche o aplicativo. Depois, o usuário inicie o aplicativo de música clicando no bloco para obter uma música específica. O usuário toca uma música, pausa o player de música e fecha o aplicativo.

O usuário pode retornar à página do artista clicando na bloco primário. O usuário pode continuar ouvindo sua música clicando no bloco secundário. Os estados das duas sessões são preservados, independentemente um do outro.

Embora os modelos forneçam a infraestrutura para esse cenário, você ainda terá que escrever um código pequeno.

Observação  

Outros modelos de projeto, como o modelo Em branco, não incluem um arquivo NavigationHelper. Para esse modelo, você terá que adicionar o arquivo de projeto NavigationHelper manualmente ou implementar uma navegação personalizada.

Para obter mais informações sobre a navegação e obter um exemplo do uso na navegação de página única em aplicativos da Windows Store usando C++, C# ou Visual Basic, veja Guia de início rápido: navegando entre páginas.

Para obter ajuda sobre como escolher o melhor padrão de navegação para o seu aplicativo, veja Padrões de navegação. Além disso, veja o padrão de navegação simples em ação como parte da nossa série Recursos do aplicativo, do começo ao fim.

Vinculação de dados

Os modelos de projeto de aplicativo Hub, Grade, Dividido e Pivot contêm um arquivo de dados de exemplo e classes que lhe ajudam a mostrar dados desse arquivo quando você executar o aplicativo. Esses dados também aparecem nas páginas enquanto você as cria. Você pode encontrar essas classes e o arquivo de dados de exemplo na pasta Modelo de Dados de sua solução.

Os dados são organizados em itens e grupos. Cada página tem sua própria coleção de pares de valores de nome chamada modelo de exibição. Os controles em cada página estão vinculados a informações naquele modelo de exibição. Para ver como você pode conectar seus dados a esse modelo, veja qualquer um destes tópicos:

O código das páginas de sua solução obtém informações a partir das classes de dados na sua pasta Modelo de Dados.

Os arquivos em sua solução

Depois de criar seu projeto, as páginas do seu aplicativo aparecem no Solution Explorer. Por exemplo, se tiver criado um projeto com base no modelo de aplicativo Hub, você verá três páginas xaml: uma página inicial que mostra as seções de itens (HubPage.xaml), uma página que mostra uma categoria de itens (SectionPage.xaml) e uma página que mostra a exibição de página inteira para um item (ItemPage.xaml).

Cada página tem um arquivo de code-behind que implementa vários aspectos comportamentais da página. A tabela a seguir descreve vários outros arquivos que sua solução pode conter, dependendo do tipo de projeto que você criar.

ArquivoDescrição
BooleanNegationConverter .cs|.vb|.cpp|.hConversor para uso no XAML. Este arquivo nega um Booliano. Este arquivo está presente na pasta Comum apenas quando você adiciona um modelo de item ShareTarget.
BooleanToVisibilityConverter .cs|.vb|.cpp|.hConversor para uso no XAML. Este arquivo converte um Booliano em um estado de visibilidade.
NavigationHelper .cs|.vb|.cpp|.h
  • Fornece comandos para navegar para frente e para trás.
  • Registradores de atalhos padrão de mouse e teclado, usados para voltar e avançar (e os vincula à implementação de comando).
  • Fornece eventos para LoadState e SaveState a serem usados ao navegar de/para as páginas. Os eventos fornecem o estado de navegação e o estado do gerenciamento do tempo de vida do processo.
  • Gerencia informações de estado usando SuspensionManager.
LeiaMe.txtContém informações importantes sobre o modelo. Este leiame pode mudar à medida que os modelos são atualizados. Recomendamos que você leia esse arquivo sempre que usar um novo modelo.
RelayCommand .cs|.vb|.cpp|.hComando usado pelo NavigationHelper para os comandos GoBack e GoForward.
SuspensionManager cs|.vb|.cpp|.hGerencia o salvamento e a restauração do estado transiente do aplicativo. Por exemplo, quando o sistema é executado com poucos recursos, o estado do aplicativo atual é salvo e o aplicativo é suspenso. Quando o usuário retorna ao aplicativo, o aplicativo é reiniciado com o estado salvo. O App.xaml e o NavigationHelper usam essa classe para habilitar o suporte a PLM.
App.xamlPágina que é carregada em primeiro lugar e fornece a marcação para o host do conteúdo (no qual cada página é carregada na janela principal).
package.appxmanifestDescreve o pacote de aplicativos para Windows.
Arquivo PFXusado para assinar o arquivo appxmanifest. (Esse arquivo é incluído como um arquivo do projeto para dar suporte à compilação a partir de um prompt de comando).
SampleDataSource.cs|.vb|.cpp|.hObjeto de fonte de dados que expõe os dados para o aplicativo. Se você estiver criando um aplicativo que tenha uma estrutura semelhante, pode economizar tempo usando o modelo de dados para itens e grupos.
SampleData.jsonContém os dados de exemplo usados pelo aplicativo. Os dados de exemplo estão no formato de cadeias de caracteres codificadas. Você deve substituir esses dados de exemplo por uma camada de acesso a dados que faz referência a seus próprios dados.
Vários arquivos de imagemPor exemplo: SplashScreen.png para a imagem de tela inicial e StoreLogo.png, que é usada para a Windows Store.
Arquivo de recurso de exemploContém cadeias de caracteres de localização (Resources.resw).

 

Criar seu primeiro aplicativo

Quando você estiver pronto para começar a criar um aplicativo, visite um dos tópicos a seguir, dependendo da sua linguagem de programação preferida.

Tópicos relacionados

Modelo de navegação (XAML)
Adicionando dados a um modelo do projeto (XAML)
Modelos de item C#, VB e C++ para aplicativos da Windows Store

 

 

Mostrar:
© 2014 Microsoft