[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:
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:
Il reste possible de contourner le problème en éditant le fichier manifest à la main et en rajouter la déclaration:
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):
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! :)
Commentaires