Windows Dev Center

Modèles de projet en C#, VB et C++ pour les applications du Windows Store

Découvrez la façon dont les modèles de projet de Visual Studio vous aident à générer des applications pour des appareils Windows 8.1 et Windows 10 en utilisant C#, VB ou C++. Cette rubrique décrit chaque modèle et vous aide à en choisir un.

Voir également :

Modèles de projet en bref

Dans la boîte de dialogue Nouveau projet, choisissez le groupe Windows 10 si vous souhaitez créer une application pour les appareils Windows 10. Pour créer une application pour les appareils Windows 8.1, choisissez le groupe Applications du Windows Store.

Le groupe Applications du Windows Store répartit les modèles en trois sous-groupes : Applications Windows, Applications Windows Phone et Applications universelles. Cette image illustre chacun de ces groupes. Pour plus d’informations sur chacun d’eux, voir Choisir le type d’application que vous voulez générer.

Catégories de modèles de projet Windows

Chaque groupe contient une liste de modèles. Bien qu’ils figurent dans une même liste, vous pouvez vous dire que ces modèles appartiennent à l’une des catégories suivantes.

Modèles utilisables pour créer des applications

En règle générale, vous commencez par utiliser l’un des modèles ci-dessous.

ModèleDescription
VideProjet pour une application d’une seule page sans contrôles ni disposition prédéfinis. Utilisez ce modèle pour générer une application à partir de zéro sans aucun code de démarrage ni code XAML.
Important  Les projets vides ne gèrent pas le bouton Précédent d’un Windows Phone. Par défaut, l’application se ferme quand l’utilisateur appuie sur ce bouton. Si vous créez un projet vide, voir la section Gestion du bouton Précédent d’un Windows Phone dans les projets vides de cette rubrique.
Hub(Windows 8.1 uniquement) Projet pour une application du Windows Store, une application du Windows Phone Store ou une application universelle Windows de trois pages qui utilise un contrôle hub. Des pages dédiées affichent des informations sur les groupes et les éléments.

Pour plus d’informations, voir Hub.

Grille(Windows 8.1 uniquement) Projet pour une application du Windows Store ou du Windows Phone Store de trois pages qui permet de naviguer parmi des éléments regroupés au sein d’une grille. Des pages dédiées affichent des informations sur les groupes et les éléments.

Pour en savoir plus, voir Grille.

Fractionner(Windows 8.1 uniquement) Projet pour une application du Windows Store ou du Windows Phone Store de deux pages qui permet de naviguer parmi des éléments regroupés. La première page autorise la sélection de groupe, alors que la seconde affiche une liste d’éléments à côté des détails de l’élément sélectionné.

Pour en savoir plus, voir Fractionner.

Pivot(Windows 8.1 uniquement) Projet pour une application du Windows Phone Store qui utilise un contrôle Pivot et Windows Runtime.

Pour plus d’informations, voir Pivot.

WebView(Windows 8.1 uniquement) Projet pour une application du Windows Phone Store qui utilise un contrôle WebView et Windows Runtime.

Pour plus d’informations sur le contrôle WebView, voir WebView

DirectXProjet pour une application du Windows Store, une application du Windows Phone Store ou une application universelle Windows qui utilise DirectX et Windows Runtime.

Pour plus d’informations, voir Utiliser les modèles DirectX Microsoft Visual Studio 2013.

DirectX et XAMLProjet pour une application du Windows Store, une application du Windows Phone Store ou une application universelle Windows qui utilise DirectX, XAML et Windows Runtime.

Pour plus d’informations, voir Utiliser les modèles DirectX Microsoft Visual Studio 2013.

 

Remarque  (Windows Phone Silverlight) est ajouté à la fin des noms de certains modèles. Utilisez ces modèles si vous avez déjà développé pour Windows Phone 8 et si vous voulez juste accéder à certaines des nouvelles fonctionnalités disponibles pour les applications Windows Phone sans devoir modifier de façon significative votre code existant. Pour plus d’informations sur ces modèles et sur les raisons qui peuvent vous inciter à les utiliser, voir les détails relatifs aux applications Silverlight 8.1 pour Windows Phone.

Modèles utilisables pour générer des parties d’une application

Une fois que votre application commence à devenir plus sophistiquée, vous pouvez décider d’ajouter des fonctionnalités sous forme de composants à l’aide de l’un des modèles ci-dessous.

ModèleDescription
DLL(C++ uniquement) Projet de bibliothèque de liens dynamiques (DLL) native utilisable par une application du Windows Store, une application du Windows Phone Store, une application universelle Windows ou un composant Windows Runtime écrits en C++.

Pour plus d’informations, voir l’article relatif aux DLL en Visual C++.

Bibliothèque statique(C++ uniquement) Projet de bibliothèque de liens statiques (LIB) native utilisable par une application du Windows Store, une application du Windows Phone Store, une application universelle Windows ou un composant Windows Runtime écrits en C++.

Pour plus d’informations, voir Procédure pas à pas : création et utilisation d’une bibliothèque statique (C++).

Bibliothèque de classesProjet de création d’une bibliothèque de classes managées (.dll) pour les applications du Windows Store, les applications du Windows Phone Store ou les applications universelles Windows écrites en C# ou en Visual Basic.
Bibliothèque de classes (portables)Projet de création d’une bibliothèque de classes managées (.dll) pour les applications du Windows Store, les applications du Windows Phone Store, les applications universelles Windows et les applications Silverlight écrites en C# ou en Visual Basic.

Pour plus d’informations, voir Développement interplateforme avec le .NET Framework.

Composant Windows RuntimeProjet de création d’un composant Windows Runtime managé ou en C++, qui peut être consommé par n’importe quelle application du Windows Store, quel que soit le langage de programmation dans lequel l’application est écrite.

Pour plus d’informations, voir Création de composants Windows Runtime.

 

Modèles utilisables pour tester votre application

Plus vous vous rapprochez de la publication de votre application, plus vous pouvez envisager d’utiliser l’un des modèles ci-dessous pour optimiser les performances et la qualité du code.

ModèleDescription
Bibliothèque de tests unitaires ou application de tests unitairesProjet contenant des tests unitaires permettant de tester des applications du Windows Store, des applications universelles Windows, des composants Windows Runtime ou des bibliothèques de classes pour les applications du Windows Store.

Pour plus d’informations, voir Créer et exécuter des tests unitaires pour une application du Windows Store dans Visual Studio.

Test codé de l’interface utilisateurProjet qui contient des tests codés de l’interface utilisateur pour le test automatisé de l’interface utilisateur des applications du Windows Store.

Pour plus d’informations, voir Vérification du code à l’aide d’UI Automation.

 

Modèles Hub, Grille, Fractionné et Pivot (Windows 8.1 uniquement)

À moins de démarrer avec un modèle Vide et de générer votre application à partir de zéro, vous commencerez probablement par utiliser un modèle Hub, Grille, Fractionné, Pivot ou un modèle de projet. Vous pouvez utiliser ces modèles pour créer des applications Windows 8.1. Aucune version de ces modèles n’est disponible pour les applications Windows 10.

Voici un examen plus détaillé de chacun d’eux.

Modèle de projet Hub

Le modèle Hub est similaire au modèle Panorama dans Windows Phone 8.

Utilisez ce modèle pour afficher du contenu dans une vue panoramique horizontale, ce qui permet d’y accéder de plusieurs façons.

Pour regarder une vidéo concernant ce modèle, voir la page de présentation du modèle d’application Hub et des fonctionnalités de navigation associées.

Dans la page Hub principale, le contenu est organisé en sections, par exemple les nouveaux éléments, les éléments en surbrillance et les catégories d’éléments. Ce modèle est idéal pour une application de shopping, une application d’information, une application sportive ou une application multimédia.

Si l’utilisateur appuie sur l’en-tête d’une section interactive (signalé par le signe « > »), l’application ouvre la page de section qui répertorie les éléments de cette section. S’il choisit un élément dans la page d’accueil ou la page de section, un affichage en pleine page présente les détails de l’élément. Cette image montre la page d’accueil d’une application de concentrateur qui comporte au moins trois sections.

Modèle de projet Application de concentrateur pour Windows

Ces sections qui apparaissent dans le concepteur sont des exemples de contenu que vous pouvez afficher. Vous pouvez facilement ajouter et supprimer des sections afin que votre application affiche le contenu de votre choix, tel que vous le voulez.

Les sections du modèle comportant du contenu statique, vous pouvez facilement fournir des ressources globalisées. Le fichier de ressources globalisées contient les chaînes localisées des paramètres régionaux en-us.

Pour voir un exemple de modèle de projet Hub permettant d’aider des utilisateurs à acheter des biens immobiliers, voir Démarrage rapide : lire des données d’un service

Modèle de projet Grille:  

Le modèle Application grille est une autre façon de permettre aux utilisateurs de naviguer parmi des catégories de contenu. Ce modèle est idéal pour une application de shopping, une application d’information, une application photo ou une application vidéo.

L’application Grille montre une liste de groupes. Si l’utilisateur sélectionne un groupe, l’application ouvre la page de détails du groupe qui présente la liste des éléments du côté droit. L’utilisateur peut sélectionner un élément sur la page d’accueil ou la page de détails du groupe. S’ouvre alors un affichage en pleine page qui peut être utilisé pour montrer les détails de l’élément. Cette image montre la page d’accueil d’une application Grille.

Modèle de projet Application grille

Modèle de projet Fractionner:  

Le modèle Application fractionnée présente une liste d’éléments et de détails relatifs à ces éléments dans un affichage à deux colonnes. Les utilisateurs peuvent basculer rapidement entre les éléments et afficher les informations sous forme de listes qui peuvent être mises à jour dynamiquement. Ce modèle est idéal pour une application de lecture de News, une application répertoriant les résultats sportifs ou encore une application de messagerie.

Le modèle Application fractionnée montre une liste de groupes. Quand l’utilisateur sélectionne un groupe en appuyant ou en cliquant dessus, l’application ouvre la page à affichage fractionné. Cette image montre la page à affichage fractionné.

Modèle de projet Application fractionnée

La page à affichage fractionné présente un affichage à deux colonnes (ou affichage maître/détail), où les détails côté droit sont modifiés lorsqu’un utilisateur sélectionne un élément côté gauche. Imaginez une liste de sujets d’actualités à gauche avec les récits à droite.

Modèle de projet Pivot:  

Un modèle Application Pivot permet de gérer rapidement les affichages ou les pages. Il permet de filtrer de grands ensembles de données, d’afficher plusieurs ensembles de données ou de basculer entre les affichages de l’application. Par exemple, si vous faites un panoramique ou si vous faites glisser votre doigt de gauche à droite sur la page, vous passez à la page de contenu suivante. Cette image montre la page d’accueil de l’application Pivot.

Modèle de projet Pivot

Navigation, gestion de l’état et liaison de données

Les pages d’applications de concentrateur, Grille, Fractionnée, et Pivot implémentent déjà la navigation, la gestion de l’état et la liaison de données.

Navigation et gestion de l’état

Les modèles de projet d’application de concentrateur, Grille, Fractionnée et Pivot activent la navigation parmi les pages. Vous pouvez facilement activer la navigation pour toutes les nouvelles pages qui utilisent l’assistance à la navigation

Le modèle de navigation utilisé par le modèle correspond au modèle de navigation recommandé pour les applications en C++, C# ou Visual Basic. Dans ce modèle, les pages XAML sont chargées dans un cadre central comme contenu de la fenêtre par défaut et les utilisateurs peuvent ensuite naviguer vers d’autres pages à l’aide de ce cadre. Les pages sont chargées selon les besoins, en général en réponse à des actions de l’utilisateur. Les développeurs Web parlent souvent de « navigation sur une seule page » pour faire référence à ce type de modèle de navigation.

Le modèle de navigation est implémenté dans Common\NavigationHelper. Le modèle de navigation sur une seule page fournit une transition plus fluide (de type application) entre les pages et facilite également la gestion de l’état de l’application via le contexte unique couvrant l’ensemble de l’application.

Le modèle de navigation permet à votre application de gérer plusieurs états. Par exemple, un utilisateur démarre une application de musique à partir d’une vignette principale, il sélectionne un artiste, puis ferme l’application. L’utilisateur démarre ensuite l’application de musique en cliquant sur la vignette d’une chanson particulière. L’utilisateur lit une chanson, met en pause le lecteur de musique, puis ferme l’application.

L’utilisateur peut revenir à la page de l’artiste en cliquant sur la vignette principale. L’utilisateur peut continuer à écouter sa chanson en cliquant sur la vignette secondaire. Les états des deux sessions sont conservés de manière indépendante.

Bien que les modèles fournissent l’infrastructure de ce scénario, vous devez tout de même écrire un peu de code.

Remarque  

D’autres modèles de projet, tels que le modèle Vide, n’incluent pas ce fichier NavigationHelper. Pour ce modèle, vous devez ajouter le fichier projet NavigationHelper manuellement ou implémenter une navigation personnalisée.

Pour obtenir des informations sur la navigation et un exemple d’utilisation de la navigation sur une seule page dans une application du Windows Store en C++, C# ou Visual Basic, voir Démarrage rapide : navigation entre les pages.

Pour vous aider à choisir le meilleur modèle de navigation pour votre application, voir Modèles de navigation. En outre, voir le Modèle de navigation plat en action dans le cadre de notre série Fonctionnalités d’application de A à Z.

Liaison de données

Les modèles de projet d’application de concentrateur, Grille, Fractionnée et Pivot contiennent un exemple de fichier de données et des classes qui vous aident à afficher les données de ce fichier durant l’exécution de l’application. Ces données s’affichent également dans les pages durant leur conception. Vous trouverez ces classes et l’exemple de fichier de données dans le dossier DataModel de votre solution.

Les données sont organisées en éléments et en groupes. Chaque page a sa propre collection de paires nom/valeur appelée modèle d’affichage. Les contrôles de chaque page sont liés aux informations de ce modèle d’affichage. Pour déterminer comment connecter vos données à ce modèle, voir les rubriques suivantes :

Le code des pages de votre solution obtient les informations à partir des classes de données de votre dossier DataModel.

des fichiers de votre solution

Une fois votre projet créé, les pages de votre application s’affichent dans l’Explorateur de solutions. Par exemple, si vous avez un projet basé sur le modèle Application de concentrateur, vous pouvez voir trois pages XAML : une page d’accueil qui montre les sections des éléments (HubPage.xaml), une page qui montre une catégorie d’éléments (SectionPage.xaml) et une page qui montre un affichage en pleine page d’un élément (ItemPage.xaml).

Chaque page a un fichier code-behind qui implémente divers aspects en matière de comportement de la page. Le tableau suivant décrit plusieurs autres fichiers que votre solution peut contenir en fonction du type de projet que vous créez.

FichierDescription
BooleanNegationConverter .cs|.vb|.cpp|.hConvertisseur à utiliser en XAML. Ce fichier entraîne la négation d’un booléen. Ce fichier ne figure dans le dossier Common que si vous ajoutez un modèle d’élément ShareTarget.
BooleanToVisibilityConverter .cs|.vb|.cpp|.hConvertisseur à utiliser en XAML. Ce fichier convertit un booléen en état de visibilité.
NavigationHelper .cs|.vb|.cpp|.h
  • Fournit des commandes utilisées pour la navigation avant et arrière.
  • Enregistre les raccourcis claviers et de souris courants utilisés pour avancer et reculer (et associe ces raccourcis à l’implémentation de la commande).
  • Fournit des événements pour LoadState et SaveState à utiliser lors de la navigation entre les pages. Ces événements indiquent à la fois l’état de la navigation ainsi que l’état de la gestion du cycle de vie des processus.
  • Gère les informations sur l’état à l’aide de SuspensionManager.
ReadMe.txtContient des informations importantes sur le modèle. Il est susceptible de changer au fur et à mesure de la mise à jour des modèles. Nous vous recommandons de lire ce fichier chaque fois que vous utilisez un nouveau modèle.
RelayCommand .cs|.vb|.cpp|.hICommand utilisée par NavigationHelper pour les commandes GoBack et GoForward.
SuspensionManager cs|.vb|.cpp|.hGère l’enregistrement et la restauration de l’état transitoire de l’application. Par exemple, quand le système manque de ressources, l’état de l’application active est enregistré et l’application est suspendue. Quand l’utilisateur retourne à l’application, elle est relancée avec l’état enregistré. App.xaml et NavigationHelper utilisent cette classe pour activer la prise en charge de la gestion de la durée de vie des processus.
App.xamlPage chargée en premier et qui fournit un balisage pour l’hôte de contenu (où chaque page est chargée dans la fenêtre principale).
package.appxmanifestDécrit le package d’application pour Windows.
Fichier PFXSert à signer le fichier appxmanifest. (Ce fichier est inclus en tant que fichier projet pour la prise en charge de la génération à partir d’une ligne de commande.)
SampleDataSource.cs|.vb|.cpp|.hObjet source de données qui expose les données à l’application. Si vous créez une application avec une structure similaire, vous pouvez gagner du temps en utilisant le modèle de données pour les éléments et les groupes.
SampleData.jsonContient les exemples de données utilisés par l’application. Les exemples de données se présentent sous la forme de chaînes codées en dur. Vous devez remplacer cet exemple de données par une couche d’accès aux données qui fait référence à vos propres données.
Divers fichiers imagePar exemple, SplashScreen.png pour l’image de l’écran de démarrage et StoreLogo.png, qui est utilisé pour le Windows Store.
Exemple de fichier de ressourcesContient les chaînes de localisation (Resources.resw).

 

Gestion du bouton Précédent d’un Windows Phone dans les projets vides:  

Les projets vides ne gèrent pas le bouton Précédent d’un Windows Phone. Par défaut, l’application se ferme quand l’utilisateur appuie sur le bouton Précédent.

Gestion du bouton Précédent dans un projet Windows 8.1

D’autres modèles de projet Windows 8.1 gèrent le bouton Précédent à l’aide du fichier NavigationHelper .cs|.vb|.cpp|.h. Pour obtenir une copie du fichier NavigationHelper .cs|.vb|.cpp|.h, ajoutez une page de base à votre projet.

Une fois que votre projet contient le fichier NavigationHelper .cs|.vb|.cpp|.h, vous pouvez supprimer la page de base de votre projet, si vous n’en voulez plus. Pour gérer ensuite le bouton Précédent d’un Windows Phone, ajoutez un champ privé nommé navigationHelper, de type NavigationHelper, à la page vierge. Ajoutez ensuite la ligne de code suivante au constructeur de la page vierge :


this.navigationHelper = new NavigationHelper(this);

Gestion du bouton Précédent dans un projet Windows 10

Ajoutez une référence au Kit de développement logiciel (SDK) Windows Mobile Extension, puis utilisez la méthode Windows.Foundation.Metadata.ApiInformation.IsTypePresent pour déterminer si un type nommé Windows.Phone.UI.Input.HardwareButtons est disponible sur l’appareil en cours d’exécution. Si tel est le cas, l’application s’exécute sur un téléphone, et vous pouvez créer un gestionnaire d’événements pour cet événement. Le code ci-après effectue cette opération.


if (Windows.Foundation.Metadata.ApiInformation.IsTypePresent("Windows.Phone.UI.Input.HardwareButtons"))
Windows.Phone.UI.Input.HardwareButtons.BackPressed += HardwareButtons_BackPressed; 


Créer votre première application

Quand vous serez prêt à créer une application, consultez l’une des rubriques suivantes en fonction de votre langage de programmation préféré.

Rubriques associées

Créer des applications universelles Windows
Modèle de navigation (XAML)
Ajout de données à un modèle de projet (XAML)
Modèles d’élément en C#, VB et C++ pour les applications du Windows Store

 

 

Afficher:
© 2015 Microsoft