Loupe

[QuickN’ Tip] Accéder à la bibliothèque de documents (DocumentsLibrary) dans une application Windows 8.1

Sous Windows 8, il est possible d’accéder à la bibliothèque de documents grâce à la propriété DocumentsLibrary de la classe KnownFolders. Seulement voilà, le même code sous Windows 8.1 déclenche une exception. Nous allons donc voir pourquoi et comment faire en sorte que tout fonctionne correctement.

Le code ci-dessous est normalement utilisé pour accéder à la biblioèthque de documents de Windows:

var docs = await Windows.Storage.KnownFolders.DocumentsLibrary;

De base, ce code ne fonctionne pas directement:

image

 

En effet, il faut que l’accès à la DocumentsLibrary soit donné explicitement dans le manifest de l’application:

 

Seulement voilà, sous Windows 8.1, la case “Documents Library” a disparue:

image

 

Il reste possible de contourner le problème en éditant le fichier manifest à la main et en rajouter la déclaration:

image

 

Enfin, pensez également à associer une (ou plusieurs) extensions qui seront associées à votre application, pour ne pas rencontrer l’erreur suivante (ce point était déjà valable sous Windows 8):

image

 

Attention cependant, l’utilisation de la DocumentsLibrary sous Windows 8.1 est différente que sous Windows 8.0. En effet, sous Windows 8.1, cela permet d’accéder, en mode offline, aux documents de l’utilisateur qui sont dans SkyDrive!

Ainsi, le code suivant:

await Windows.Storage.KnownFolders.DocumentsLibrary.CreateFileAsync("test.txt");

Permet de créer un fichier dans le répertoire “C:\Users\XXX\SkyDrive\Documents” et non pas dans “C:\Users\XXX\Documents”.

Cette différence, subtile, a toute son importance: si vous souhaitez accéder à “C:\Users\XXX\Documents”, il est recommandé d’utiliser un File Picker (plus de détails ici).

 

Happy coding! :)

Ces billets pourraient aussi vous intéresser

Vous nous direz ?!

Commentaires

comments powered by Disqus