2015-07-31 1 views
3

Donc, mon application WPF a une liste de saut définie dans App.xamlJumpList.GetJumpList ne contient pas d'éléments récents

<JumpList.JumpList> 
    <JumpList ShowRecentCategory="True"/> 
</JumpList.JumpList> 

Cette liste est vide, à moins que Windows reconnaît certains fichiers associés à ma demande. J'ai réussi à associer mon extension de fichier personnalisée via Inno Setup et la liste des sauts s'affiche bien dans le menu Démarrer de win7 + barre des tâches. Cliquer sur un tel "fichier récent" appelle mon application avec un argument de ligne de commande supplémentaire (le nom de fichier) et je peux ouvrir ce fichier directement au démarrage de l'application.

Objectif: Afficher les fichiers récents dans l'application (pas seulement dans la barre des tâches de win7). Pensez au menu Fichier (par exemple Visual Studio: Fichier> Fichiers récents> ...) ou quelque chose comme une page de démarrage montrant les projets récents à sauter dans.

Problème: JumpList ne contient que des tâches personnalisées et non les fichiers récents. Il est possible de parcourir les JumpItems via

List<JumpItem> items = JumpList.GetJumpList(Application.Current).JumpItems 

qui est une liste des instances JumpTask/de JumpPath. Je trouve des tâches créées personnalisées ici (par exemple si j'en ai défini une dans App.xaml), mais pas les fichiers récents qui apparaissent dans Windows (menu Démarrer/barre des tâches). Donc, dans mon cas, Windows affiche les 10 fichiers les plus récents, mais dans l'application, je ne trouve pas un moyen de les afficher. Si je renonce à la définition JumpList de App.xaml, l'appel ci-dessus retournera null au lieu d'une JumpList (je pense que j'ai écrasé la JumpList win7, mais non).

Répondre

0

Vous devez ajouter manuellement l'élément récent au Jumplist

var jumpTask = new JumpTask 
{ 
    Title = fileName, 
    Arguments = fullPath 
}; 
JumpList.AddToRecentCategory(jumpTask) 
+1

Je sais comment ajouter manuellement des éléments supplémentaires de ma demande. La question est: Comment puis-je obtenir les éléments de la liste de saut à partir de Windows? –