Démarrage rapide : intégration aux contrats du sélecteur de fichiers (applications Windows Runtime)

[ Cet article est destiné aux développeurs de Windows 8.x et Windows Phone 8.x qui créent des applications Windows Runtime. Si vous développez une application pour Windows 10, voir la Documentation ]

Fournissez l’accès à du contenu d’application, à un emplacement de sauvegarde ou à des mises à jour de fichiers via le sélecteur de fichiers en intégrant votre application au contrat de sélecteur d’ouverture de fichier, au contrat de sélecteur d’enregistrement de fichier ou au contrat de programme de mise à jour des fichiers mis en cache.

Prérequis

Déterminer quels services seront fournis par votre application à partir des fenêtres de sélecteur de fichiers

Votre application peut fournir les services suivants à d’autres applications via une intégration au contrat d’application associé. Pour participer à un contrat, vous devez déclarer ce contrat dans le manifeste de votre application, répondre à l’événement activé correspondant, puis créer une vue d’application spécialisée.

Fournir l’accès aux fichiers

Rendez les fichiers accessibles à partir d’un sélecteur de fichiers si votre application offre une vue unique ou utile de ces fichiers, ou si les utilisateurs n’ont pas d’autre moyen d’accéder rapidement aux fichiers.

Contrat d’application : contrat de sélecteur d’ouverture de fichier

Informations sur l’événement activé : fileOpenPickerActivatedEventArgs

Fournir un emplacement d’enregistrement

Fournissez un emplacement d’enregistrement à partir d’un sélecteur de fichiers pour permettre aux utilisateurs qui le souhaitent d’enregistrer des fichiers en vue de les ouvrir ou de les utiliser ultérieurement dans votre application.

Contrat d’application : contrat de sélecteur d’enregistrement de fichier

Informations sur l’événement activé : fileSavePickerActivatedEventArgs

Fournir des mises à jour de fichiers en temps réel

Effectuez le suivi et la mise à jour des fichiers par le biais d’un sélecteur de fichiers afin de permettre aux utilisateurs d’utiliser votre application comme référentiel central pour les fichiers accessibles depuis votre application, ou pour ceux qui sont enregistrés avec votre application en tant qu’emplacement d’enregistrement.

Contrat d’application : contrat de programme de mise à jour des fichiers mis en cache

Informations sur l’événement activé : cachedFileUpdaterActivatedEventArgs

Pour en savoir plus sur les services que votre application peut fournir via un sélecteur de fichiers, voir Accès aux fichiers à l’aide de sélecteurs de fichiers.

Déclarer le contrat dans le manifeste de votre application

Ouvrez votre projet dans Microsoft Visual Studio, puis suivez ces étapes pour ajouter un contrat d’application dans le manifeste :

  1. Ajoutez un contrat d’application. Pour ce faire, ouvrez la fenêtre Ajouter un nouvel élément de votre projet, sélectionnez le contrat dans le volet central, puis cliquez sur le bouton Ajouter.

    Vous pouvez accéder à la fenêtre Ajouter un nouvel élément dans Visual Studio de plusieurs façons :

    • En sélectionnant l’option de menu Projet > Ajouter un nouvel élément...
    • En sélectionnant l’option de menu Ajouter > Nouvel élément... dans le menu contextuel du projet
    • En utilisant le raccourci clavier Ctrl+Maj+A

    Astuce  Quand vous ajoutez ces contrats, Visual Studio met automatiquement à jour votre fichier manifeste "package.appmanifest". Il ajoute à votre projet les fichiers dont vous avez besoin pour définir la disposition et le comportement de l’affichage stocké dans la fenêtre de sélecteur de fichiers durant l’appel du service de votre application.

     

  2. Personnalisez vos paramètres de contrat dans Visual Studio si les paramètres par défaut ne conviennent pas pour votre application.

    1. Ouvrez "package.appmanifest".

    2. Ouvrez l’onglet Déclarations.

    3. Sélectionnez le nom de votre contrat dans la liste Déclarations prises en charge.

    4. Ajoutez la prise en charge des types de fichiers spécifiques.

      Dans la zone Types de fichiers pris en charge, désactivez la case à cocher Prend en charge tout type de fichier.

      Ajoutez un nouveau champ FileType pour chaque type de fichier supplémentaire à prendre en charge. Pour ce faire, suivez ces étapes :

      1. Cliquez sur le bouton Ajouter.
      2. Dans le champ FileType, entrez l’extension associée au type de fichier à prendre en charge, comme ceci : *.ext

      Astuce  Ajoutez uniquement les types de fichiers qui présentent une utilité pour votre application, vos utilisateurs et le contrat. En limitant le nombre de types de fichiers pris en charge, vous conservez une vue de sélecteur de fichiers aérée et facile à utiliser.

       

    Vous pouvez aussi supprimer la prise en charge d’un type de fichier spécifique en suivant les étapes ci-dessus et en cliquant sur le bouton Supprimer pour le type à supprimer. Le bouton Supprimer se trouve juste au-dessus du champ FileType.

Votre fichier manifeste est mis à jour avec le balisage correspondant au contrat ajouté. Un élément représentant le contrat que vous avez ajouté est inséré dans le balisage XML du manifeste en tant qu’enfant de l’élément Extensions. Par exemple, le balisage d’un contrat de sélecteur d’ouverture de fichier qui prend en charge tous les types de fichiers ressemble à ceci :


  <Extension Category="windows.filePicker" StartPage="filePicker.html">
    <FileOpenPicker>
      <SupportedFileTypes SupportsAnyFileType="true" />
    </FileOpenPicker>
  </Extension>

Répondre lorsque votre application est activée à partir d’un sélecteur de fichiers

Ajoutez au gestionnaire d’événements activés le code qui vérifie que l’objet transmis à votre gestionnaire est associé au contrat que vous avez déclaré dans votre manifeste, puis qui affiche la vue du sélecteur de fichiers de votre application.

Chaque contrat est associé à un objet dont le rôle est de fournir des informations sur l’événement activé qui est déclenché quand l’un des services fournis par votre application est appelé à l’aide d’un sélecteur de fichiers.

Contrat de sélecteur d’ouverture de fichier : fileOpenPickerActivatedEventArgs

Contrat de sélecteur d’enregistrement de fichier :fileSavePickerActivatedEventArgs

Contrat de programme de mise à jour des fichiers mis en cache : cachedFileUpdaterActivatedEventArgs

Créer la vue spécialisée de votre application qui sera hébergée dans le sélecteur de fichiers

Les conseils prodigués dans Recommandations et liste de vérification sur les sélecteurs de fichiers peuvent vous aider à concevoir la vue d’application hébergée dans le sélecteur de fichiers.

Au final, votre vue doit être constituée des éléments suivants :

  • le code qui personnalise le cadre du sélecteur de fichiers de manière appropriée ;

  • le balisage et les styles qui définissent la disposition de la zone encadrée du sélecteur de fichiers (zone d’affichage des fichiers) ;

  • le code qui lie votre source de données au balisage afin que les fichiers s’affichent dans la zone encadrée.

Tester les services fournis par votre application à partir d’un sélecteur de fichiers qui est appelé par une autre application

Pour tester un service fourni par votre application à partir d’un sélecteur de fichiers, vous devez déclencher l’événement activé correspondant au service testé. Vous ne pouvez pas déclencher cet événement directement en exécutant votre application.

Suivez ces étapes pour déclencher l’événement activé correspondant à chaque contrat.

Pour tester la participation de votre application au contrat de sélecteur d’ouverture de fichier :

  1. Lancez une application autre que la vôtre.

  2. Utilisez l’interface utilisateur de cette autre application pour appeler une fenêtre de sélecteur de fichiers permettant d’accéder aux fichiers.

  3. Sélectionnez votre application dans la liste des emplacements proposés dans le sélecteur de fichiers pour retrouver votre application hébergée dans le sélecteur.

Pour tester la participation de votre application au contrat de sélecteur d’enregistrement de fichier :

  1. Lancez une application autre que la vôtre.

  2. Utilisez l’interface utilisateur de cette autre application pour appeler une fenêtre de sélecteur de fichiers permettant d’enregistrer un fichier.

  3. Sélectionnez votre application dans la liste des emplacements proposés dans le sélecteur de fichiers pour retrouver votre application hébergée dans le sélecteur.

Pour tester la participation de votre application au contrat de programme de mise à jour des fichiers mis en cache :

  1. Lancez une application autre que la vôtre.

  2. Utilisez l’interface utilisateur de cette autre application pour appeler une fenêtre de sélecteur de fichiers permettant d’accéder à un fichier, ou de l’enregistrer, qui a été marqué pour mise à jour.

Récapitulatif

Votre application peut fournir des services à d’autres applications en participant à un contrat d’application. Pour participer à un contrat, vous devez déclarer ce contrat dans le manifeste de votre application, répondre à l’événement activé correspondant, puis créer une vue d’application spécialisée.

Rubriques associées

Accès aux données et aux fichiers

Intégration aux contrats du sélecteur de fichiers

exemples de contrats du sélecteur de fichiers

Recommandations et liste de vérification sur les contrats du sélecteur de fichiers

Comment activer une application

Contrats d’applications Windows

Référence

Windows.Storage.Pickers.Provider namespace

Windows.ApplicationModel.Activation.fileOpenPickerActivatedEventArgs class

Windows.ApplicationModel.Activation.fileSavePickerActivatedEventArgs class

Windows.ApplicationModel.Activation.cachedFileUpdaterActivatedEventArgs class

Utilisation des sélecteurs de fichiers

Démarrage rapide : accès aux fichiers à l’aide de sélecteurs de fichiers

Comment enregistrer des fichiers via les sélecteurs de fichiers

Recommandations et liste de vérification sur les sélecteurs de fichiers