Partager via


JumpList Classe

Définition

Représente une liste d’éléments et de tâches affichés sous forme de menu sur un bouton de barre des tâches Windows 7.

public ref class JumpList sealed : System::ComponentModel::ISupportInitialize
[System.Windows.Markup.ContentProperty("JumpItems")]
public sealed class JumpList : System.ComponentModel.ISupportInitialize
[System.Windows.Markup.ContentProperty("JumpItems")]
[System.Security.SecurityCritical]
public sealed class JumpList : System.ComponentModel.ISupportInitialize
[<System.Windows.Markup.ContentProperty("JumpItems")>]
type JumpList = class
    interface ISupportInitialize
[<System.Windows.Markup.ContentProperty("JumpItems")>]
[<System.Security.SecurityCritical>]
type JumpList = class
    interface ISupportInitialize
Public NotInheritable Class JumpList
Implements ISupportInitialize
Héritage
JumpList
Attributs
Implémente

Exemples

L’exemple suivant montre une application avec une liste de raccourcis. L’application comporte trois boutons qui vous permettent d’ajouter une tâche à la liste de raccourcis actuelle, d’effacer le contenu de la liste de raccourcis et d’appliquer une nouvelle liste de raccourcis à l’application.

L’exemple suivant montre comment déclarer un élément dans le JumpList balisage. Contient JumpList deux JumpTask liens et un JumpPath. JumpPath L’application de l’interpréteur de commandes échoue si l’application n’est pas inscrite pour gérer l’extension de nom de fichier .txt.

<Application x:Class="JumpListSample.App"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             StartupUri="MainWindow.xaml">
    <JumpList.JumpList>
        <JumpList ShowRecentCategory="True"
                  ShowFrequentCategory="True"
                  JumpItemsRejected="JumpList_JumpItemsRejected"
                  JumpItemsRemovedByUser="JumpList_JumpItemsRemovedByUser">
            <JumpTask Title="Notepad" 
                      Description="Open Notepad." 
                      ApplicationPath="C:\Windows\notepad.exe"
                      IconResourcePath="C:\Windows\notepad.exe"/>
            <JumpTask Title="Read Me" 
                      Description="Open readme.txt in Notepad." 
                      ApplicationPath="C:\Windows\notepad.exe"
                      IconResourcePath="C:\Windows\System32\imageres.dll"
                      IconResourceIndex="14"
                      WorkingDirectory="C:\Users\Public\Documents"
                      Arguments="readme.txt"/>
            <JumpPath Path="C:\Users\Public\Documents\readme.txt" />
        </JumpList>
    </JumpList.JumpList>
</Application>

L’exemple suivant montre la page code-behind pour App.xaml. Ce code gère les événements et JumpItemsRemovedByUser les JumpItemsRejected événements.

using System.Text;
using System.Windows;
using System.Windows.Shell;

namespace JumpListSample
{
    /// <summary>
    /// Interaction logic for App.xaml
    /// </summary>
    public partial class App : Application
    {
        private void JumpList_JumpItemsRejected(object sender, System.Windows.Shell.JumpItemsRejectedEventArgs e)
        {
            StringBuilder sb = new StringBuilder();
            sb.AppendFormat("{0} Jump Items Rejected:\n", e.RejectionReasons.Count);
            for (int i = 0; i < e.RejectionReasons.Count; ++i)
            {
                if (e.RejectedItems[i].GetType() == typeof(JumpPath))
                    sb.AppendFormat("Reason: {0}\tItem: {1}\n", e.RejectionReasons[i], ((JumpPath)e.RejectedItems[i]).Path);
                else
                    sb.AppendFormat("Reason: {0}\tItem: {1}\n", e.RejectionReasons[i], ((JumpTask)e.RejectedItems[i]).ApplicationPath);
            }

            MessageBox.Show(sb.ToString());
        }

        private void JumpList_JumpItemsRemovedByUser(object sender, System.Windows.Shell.JumpItemsRemovedEventArgs e)
        {
            StringBuilder sb = new StringBuilder();
            sb.AppendFormat("{0} Jump Items Removed by the user:\n", e.RemovedItems.Count);
            for (int i = 0; i < e.RemovedItems.Count; ++i)
            {
                sb.AppendFormat("{0}\n", e.RemovedItems[i]);
            }

            MessageBox.Show(sb.ToString());
        }
    }
}

L’exemple suivant montre le balisage utilisé pour créer l’interface utilisateur de l’application.

<Window x:Class="JumpListSample.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="Jump List Sample" Height="240" Width="500">
    <Window.Resources>
        <Style TargetType="Button">
            <Setter Property="Width" Value="200" />
            <Setter Property="Margin" Value="5" />
        </Style>
    </Window.Resources>
    <Grid>
        <StackPanel>
            <Button Content="Add Task to JumpList" Click="AddTask" />
            <Button Content="Clear Jump List" Click="ClearJumpList"/>
            <Button Content="Set New Jump List" Click="SetNewJumpList" />
        </StackPanel>
    </Grid>
</Window>

L’exemple suivant montre la page code-behind pour MainWindow.xaml. Ce code montre comment modifier, effacer et créer un JumpList code procédural. Pour la nouvelle liste de raccourcis, la méthode statique SetJumpList est appelée pour associer le JumpList à l’application actuelle et appliquer l'JumpList à l’interpréteur de commandes Windows.

using System;
using System.IO;
using System.Windows;
using System.Windows.Shell;

namespace JumpListSample
{
    /// <summary>
    /// Interaction logic for MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }
        private void AddTask(object sender, RoutedEventArgs e)
        {
            // Configure a new JumpTask.
            JumpTask jumpTask1 = new JumpTask();
            // Get the path to Calculator and set the JumpTask properties.
            jumpTask1.ApplicationPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.SystemX86), "calc.exe");
            jumpTask1.IconResourcePath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.SystemX86), "calc.exe");
            jumpTask1.Title = "Calculator";
            jumpTask1.Description = "Open Calculator.";
            jumpTask1.CustomCategory = "User Added Tasks";
            // Get the JumpList from the application and update it.
            JumpList jumpList1 = JumpList.GetJumpList(App.Current);
            jumpList1.JumpItems.Add(jumpTask1);
            JumpList.AddToRecentCategory(jumpTask1);
            jumpList1.Apply();
        }
        private void ClearJumpList(object sender, RoutedEventArgs e)
        {
            JumpList jumpList1 = JumpList.GetJumpList(App.Current);
            jumpList1.JumpItems.Clear();
            jumpList1.Apply();
        }
        private void SetNewJumpList(object sender, RoutedEventArgs e)
        {
            //Configure a new JumpTask
            JumpTask jumpTask1 = new JumpTask();
            // Get the path to WordPad and set the JumpTask properties.
            jumpTask1.ApplicationPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.System), "write.exe");
            jumpTask1.IconResourcePath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.System), "write.exe");
            jumpTask1.Title = "WordPad";
            jumpTask1.Description = "Open WordPad.";
            jumpTask1.CustomCategory = "Jump List 2";
            // Create and set the new JumpList.
            JumpList jumpList2 = new JumpList();
            jumpList2.JumpItems.Add(jumpTask1);
            JumpList.SetJumpList(App.Current, jumpList2);
        }
    }
}

Remarques

La barre des tâches Windows 7 fournit des fonctionnalités améliorées pour démarrer des programmes directement à partir du bouton de la barre des tâches à l’aide de listes de raccourcis. Les listes de raccourcis sont également utilisées dans le menu Démarrer Windows 7. Vous accédez à une liste de raccourcis en cliquant avec le bouton droit sur un bouton de barre des tâches ou en cliquant sur la flèche en regard d’un programme dans le menu Démarrer. Pour plus d’informations sur les listes de raccourcis, consultez la section Taskbar des instructions d’interaction de l’expérience utilisateur Windows.

La classe JumpList fournit un wrapper managé pour la fonctionnalité Liste de raccourcis dans la barre des tâches Windows 7 et gère les données transmises à l’interpréteur de commandes Windows. La fonctionnalité exposée par la classe JumpList n’est pas disponible dans les versions de Windows antérieures à Windows 7. Les applications qui utilisent la classe JumpList s’exécutent dans d’autres versions de Windows, mais la liste de raccourcis n’est pas disponible. Pour plus d’informations sur l’interpréteur de commandes Windows et les API de liste de raccourcis natives, consultez Taskbar Extensions.

L’illustration suivante montre la liste de raccourcis pour Windows lecteur multimédia, avec des éléments dans les catégories Tasks et Frequent.

Windows lecteur multimédia Liste de raccourcis Windows lecteur multimédia Liste de raccourcis

Configuration d’une liste de raccourcis

Les listes de raccourcis peuvent contenir deux types d’éléments, a JumpTask et a JumpPath. Il JumpTask s’agit d’un lien vers un programme et d’un JumpPath lien vers un fichier. Vous pouvez séparer visuellement les éléments d’une liste de raccourcis en créant un JumpTask élément qui n’a Title pas et CustomCategory spécifié. Cette valeur vide JumpTask s’affiche sous la forme d’une ligne horizontale dans la liste de raccourcis.

Note

Si le type du fichier spécifié dans un fichier JumpPath n’est pas inscrit auprès de votre application, le fichier n’apparaît pas dans la liste de raccourcis. Par exemple, si vous ajoutez un JumpPath fichier qui pointe vers un fichier .txt, votre application doit être inscrite pour gérer les fichiers .txt. Pour plus d’informations, consultez Présentation des associations de fichiers.

Les éléments de saut sont placés dans des catégories dans le JumpList. Par défaut, une JumpItem valeur est affichée dans la catégorie Tâches . Vous pouvez également spécifier une CustomCategory pour le JumpItem.

Vous pouvez spécifier si les catégories récentes et fréquentes standard sont affichées dans le JumpList paramètre ShowRecentCategory et ShowFrequentCategory les propriétés. Le contenu de ces catégories est géré par l’interpréteur de commandes Windows. Étant donné que ces catégories peuvent contenir une grande partie des mêmes données, vous affichez généralement l’une ou l’autre dans votre JumpList, mais pas les deux. Windows gère automatiquement les éléments récents s’ils sont ouverts via une boîte de dialogue de fichier commune ou utilisés pour ouvrir une application par le biais d’une association de types de fichiers. Lorsqu’un élément est accessible via la liste de raccourcis, vous pouvez notifier l’interpréteur de commandes Windows pour ajouter l’élément à la catégorie Recent en appelant la méthode AddToRecentCategory.

Application d’une liste de raccourcis à l’interpréteur de commandes Windows

Vous ne pouvez pas accéder directement à la liste de raccourcis de l’interpréteur de commandes ou lire son contenu dans la JumpList classe. Au lieu de cela, la classe JumpList fournit une représentation d’une liste de raccourcis avec laquelle vous pouvez travailler, puis s’applique à l’interpréteur de commandes Windows. En règle générale, vous créez et JumpList définissez-le une fois que l’application est exécutée pour la première fois. Toutefois, vous pouvez modifier ou remplacer le moment de l’exécution JumpList .

Lorsque vous avez défini les propriétés JumpList, vous devez appliquer la JumpList à l’interpréteur de commandes Windows avant son contenu dans la liste de raccourcis de la barre des tâches. Cette opération est effectuée automatiquement lorsque la JumpList première est attachée à une application, en XAML ou dans un appel à la SetJumpList méthode. Si vous modifiez le contenu du JumpList au moment de l’exécution, vous devez appeler la méthode Apply pour appliquer son contenu actuel à l’interpréteur de commandes Windows.

Définition d’une liste de raccourcis en XAML

A JumpList n’est pas automatiquement attaché à un Application objet. Vous attachez un JumpListApplication objet en XAML à l’aide de la syntaxe de propriété jointe. La JumpList classe implémente l’interface pour prendre en charge la ISupportInitialize déclaration XAML d’un JumpList. Si le JumpList est déclaré en XAML et attaché au Application actuel, il est automatiquement appliqué à l’interpréteur de commandes Windows lorsque le JumpList est initialisé.

Définition et modification d’une liste de raccourcis dans le code

Vous attachez un JumpListApplication objet dans le code en appelant la méthode statique SetJumpList . Cela applique également la JumpList à l’interpréteur de commandes Windows.

Pour modifier un JumpList élément au moment de l’exécution, vous appelez la GetJumpList méthode pour obtenir l’élément JumpList actuellement attaché à un Application. Une fois que vous avez modifié les propriétés du JumpList, vous devez appeler la méthode Apply pour appliquer les modifications à l’interpréteur de commandes Windows.

Note

Vous créez généralement un JumpList attaché au Application et appliqué à l’interpréteur de commandes Windows. Toutefois, vous pouvez créer plusieurs JumpList objets. Un seul JumpList à la fois peut être appliqué à l’interpréteur de commandes Windows, et un seul JumpList à la fois peut être associé à un Application. L’infrastructure .NET ne nécessite pas qu’elles soient identiques JumpList.

Note

Cette classe contient une demande de liaison au niveau de la classe qui s’applique à tous les membres. A SecurityException est levée lorsque l’appelant immédiat n’a pas d’autorisation de confiance totale. Pour plus d’informations sur les demandes de sécurité, consultez Link Demands.

Constructeurs

Nom Description
JumpList()

Initialise une nouvelle instance de la classe JumpList.

JumpList(IEnumerable<JumpItem>, Boolean, Boolean)

Initialise une nouvelle instance de la JumpList classe avec les paramètres spécifiés.

Propriétés

Nom Description
JumpItems

Obtient la collection d’objets JumpItem qui sont affichés dans la liste de raccourcis.

ShowFrequentCategory

Obtient ou définit une valeur qui indique si les éléments fréquemment utilisés sont affichés dans la liste de raccourcis.

ShowRecentCategory

Obtient ou définit une valeur qui indique si les éléments récemment utilisés sont affichés dans la liste de raccourcis.

Méthodes

Nom Description
AddToRecentCategory(JumpPath)

Ajoute le chemin de raccourci spécifié à la catégorie Récente de la liste de raccourcis.

AddToRecentCategory(JumpTask)

Ajoute la tâche de saut spécifiée à la catégorie Récente de la liste de raccourcis.

AddToRecentCategory(String)

Ajoute le chemin d’accès d’élément spécifié à la catégorie Récente de la liste de raccourcis.

Apply()

Envoie le JumpList à l’interpréteur de commandes Windows dans son état actuel.

BeginInit()

Signale le début de l’initialisation JumpList .

EndInit()

Signale la fin de l’initialisation JumpList .

Equals(Object)

Détermine si l'objet spécifié est identique à l'objet actuel.

(Hérité de Object)
GetHashCode()

Sert de fonction de hachage par défaut.

(Hérité de Object)
GetJumpList(Application)

Retourne l’objet JumpList associé à une application.

GetType()

Obtient la Type de l’instance actuelle.

(Hérité de Object)
MemberwiseClone()

Crée une copie superficielle du Objectactuel.

(Hérité de Object)
SetJumpList(Application, JumpList)

Définit l’objet JumpList associé à une application.

ToString()

Retourne une chaîne qui représente l’objet actuel.

(Hérité de Object)

Événements

Nom Description
JumpItemsRejected

Se produit lorsque les éléments de saut ne sont pas ajoutés à la liste de raccourcis par l’interpréteur de commandes Windows.

JumpItemsRemovedByUser

Se produit lorsque les éléments de saut précédemment dans la liste de raccourcis sont supprimés de la liste par l’utilisateur.

S’applique à