JumpList JumpList JumpList JumpList Class

Definição

Representa uma lista de itens e tarefas exibidas como um menu em um botão da barra de tarefas do Windows 7.Represents a list of items and tasks displayed as a menu on a Windows 7 taskbar button.

public ref class JumpList sealed : System::ComponentModel::ISupportInitialize
[System.Security.SecurityCritical]
[System.Windows.Markup.ContentProperty("JumpItems")]
public sealed class JumpList : System.ComponentModel.ISupportInitialize
type JumpList = class
    interface ISupportInitialize
Public NotInheritable Class JumpList
Implements ISupportInitialize
Herança
JumpListJumpListJumpListJumpList
Atributos
Implementações

Exemplos

O exemplo a seguir mostra um aplicativo com uma lista de atalhos.The following example shows an application with a Jump List. O aplicativo tem três botões que permitem adicionar uma tarefa à lista de atalhos atual, limpar o conteúdo da lista de atalhos e aplicar uma nova lista de atalhos ao aplicativo.The application has three buttons that enable you to add a task to the current Jump List, clear the contents of the Jump List, and apply a new Jump List to the application.

O exemplo a seguir mostra como declarar um JumpList na marcação.The following example shows how to declare a JumpList in markup. O JumpList contém dois JumpTask links e um JumpPath.The JumpList contains two JumpTask links and one JumpPath. A aplicação JumpPath do ao shell falhará se o aplicativo não estiver registrado para manipular a extensão de nome de arquivo. txt.Applying the JumpPath to the shell will fail if the application is not registered to handle the .txt file name extension.

<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>

O exemplo a seguir mostra a página code-behind App.xamlpara.The following example shows the code-behind page for App.xaml. Esse código manipula os JumpItemsRejected eventos JumpItemsRemovedByUser e.This code handles the JumpItemsRejected and JumpItemsRemovedByUser events.

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());
        }
    }
}

O exemplo a seguir mostra a marcação usada para criar a interface do usuário do aplicativo.The following example shows the markup used to create the application user interface.

<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>

O exemplo a seguir mostra a página code-behind MainWindow.xamlpara.The following example shows the code-behind page for MainWindow.xaml. Este código demonstra como modificar, limpar e criar um JumpList código de procedimento in.This code demonstrates how to modify, clear, and create a JumpList in procedural code. Para a nova lista de atalhos, o SetJumpList método estático é chamado para associar JumpList o ao aplicativo atual e aplicar o JumpList ao shell do Windows.For the new Jump List, the static SetJumpList method is called to associate the JumpList with the current application and apply the JumpList to the Windows shell.

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);
        }
    }
}

Comentários

A Windows 7Windows 7 barra de tarefas fornece funcionalidade aprimorada para iniciar programas diretamente do botão da barra de tarefas usando listas de atalhos.The Windows 7Windows 7 taskbar provides enhanced functionality for starting programs directly from the taskbar button by using Jump Lists. As Windows 7Windows 7 listas de atalhos também são usadas no menu iniciar.Jump Lists are also used in the Windows 7Windows 7 Start menu. Você acessa uma lista de atalhos clicando com o botão direito do mouse em um botão da barra de tarefas ou clicando na seta ao lado de um programa no menu iniciar.You access a Jump List by right-clicking a taskbar button or by clicking the arrow next to a program in the Start menu. Para obter mais informações sobre listas de atalhos, consulte a seção da barra de tarefas das diretrizes de interação da experiência do usuário do Windows.For more information about Jump Lists, see the Taskbar section of the Windows User Experience Interaction Guidelines.

A JumpList classe fornece um wrapper gerenciado para a funcionalidade de lista de atalhos Windows 7Windows 7 na barra de tarefas e gerencia os dados WindowsWindows passados para o Shell.The JumpList class provides a managed wrapper for the Jump List functionality in the Windows 7Windows 7 taskbar and manages the data passed to the WindowsWindows shell. A funcionalidade exposta pela JumpList classe não está disponível em versões do WindowsWindows anteriores ao Windows 7Windows 7.The functionality exposed by the JumpList class is not available in versions of WindowsWindows earlier than Windows 7Windows 7. Os aplicativos que usam JumpList a classe serão executados em outras versões WindowsWindowsdo, mas a lista de atalhos não estará disponível.Applications that use the JumpList class will run in other versions of WindowsWindows, but the Jump List will not be available. Para obter mais informações sobre as APIs shell do Windows e lista de atalhos nativas, consulte extensões da barra de tarefas.For more information about the Windows shell and native Jump List APIs, see Taskbar Extensions.

A ilustração a seguir mostra a lista de atalhos do Windows Media Player, com itens nas categorias tarefas e frequentes .The following illustration shows the Jump List for Windows Media Player, with items in the Tasks and Frequent categories.

Lista de atalhos do Windows Media PlayerWindows Media Player Jump List
Lista de atalhos do Windows Media PlayerWindows Media Player Jump List

Configurando uma lista de atalhosConfiguring a Jump List

As listas de atalhos podem conter dois tipos de itens JumpTask , a JumpPathe a.Jump Lists can contain two types of items, a JumpTask and a JumpPath. Um JumpTask é um link para um programa e um JumpPath é um link para um arquivo.A JumpTask is a link to a program and a JumpPath is a link to a file. Você pode separar itens visualmente em uma lista de atalhos criando JumpTask um que não tem um Title e CustomCategory especificado.You can visually separate items in a Jump List by creating a JumpTask that does not have a Title and CustomCategory specified. Esse vazio JumpTask será exibido como uma linha horizontal na lista de atalhos.This empty JumpTask will be displayed as a horizontal line in the Jump List.

Observação

Se o tipo do arquivo especificado em um JumpPath não estiver registrado com seu aplicativo, o arquivo não será exibido na lista de atalhos.If the type of the file specified in a JumpPath is not registered with your application, the file will not appear in the Jump List. Por exemplo, se você adicionar um JumpPath que aponta para um arquivo. txt, seu aplicativo deverá ser registrado para manipular arquivos. txt.For example, if you add a JumpPath that points to a .txt file, your application must be registered to handle .txt files. Para obter mais informações, consulte introdução às associações de arquivo.For more information, see Introduction to File Associations.

Os itens de salto são colocados em categorias JumpListno.Jump items are placed into categories in the JumpList. Por padrão, um JumpItem é exibido na categoria tarefas .By default, a JumpItem is displayed in the Tasks category. Como alternativa, você pode especificar um CustomCategory para o JumpItem.Alternatively, you can specify a CustomCategory for the JumpItem.

Você pode especificar se as categorias padrão recentes e frequentes são JumpList exibidas no definindo as ShowRecentCategory Propriedades e ShowFrequentCategory .You can specify whether the standard Recent and Frequent categories are displayed in the JumpList by setting the ShowRecentCategory and ShowFrequentCategory properties. O conteúdo dessas categorias é gerenciado pelo WindowsWindows Shell.The contents of these categories are managed by the WindowsWindows shell. Como essas categorias podem conter muitos dos mesmos dados, você normalmente exibe um ou o outro em seu JumpList, mas não ambos.Because these categories might contain much of the same data, you typically display one or the other in your JumpList, but not both. WindowsWindowso gerencia automaticamente os itens recentes se eles forem abertos por meio de uma caixa de diálogo de arquivo comum ou se forem usados para abrir um aplicativo por meio da Associação de tipo de arquivo.automatically manages recent items if they are opened through a common file dialog box or used to open an application through file type association. Quando um item é acessado por meio da lista de atalhos, WindowsWindows você pode notificar o Shell para adicionar o item à categoria AddToRecentCategory recente chamando o método.When an item is accessed through the Jump List, you can notify the WindowsWindows shell to add the item to the Recent category by calling the AddToRecentCategory method.

Aplicando uma lista de atalhos ao shell do WindowsApplying a Jump List to the Windows Shell

Você não pode acessar a lista de atalhos do shell diretamente ou ler seu conteúdo JumpList na classe.You cannot access the shell's Jump List directly or read its contents into the JumpList class. Em vez disso JumpList , a classe fornece uma representação de uma lista de atalhos com a qual você pode trabalhar e, WindowsWindows em seguida, aplica-se ao shell.Instead, the JumpList class provides a representation of a Jump List that you can work with, and then apply to the WindowsWindows shell. Normalmente, você cria JumpList um e define-o uma vez, quando o aplicativo é executado pela primeira vez.You typically create a JumpList and set it one time when the application is first run. No entanto, você pode modificar ou JumpList substituir o em tempo de execução.However, you can modify or replace the JumpList at run time.

Quando você tiver definido as JumpList Propriedades, deverá aplicar o JumpList ao shell do Windows antes que seu conteúdo apareça na lista de atalhos da barra de tarefas.When you have set the JumpList properties, you must apply the JumpList to the Windows shell before its contents appear in the taskbar Jump List. Isso é feito automaticamente quando o JumpList é anexado pela primeira vez a um aplicativo, seja em XAML ou em uma chamada SetJumpList para o método.This is done automatically when the JumpList is first attached to an application, either in XAML or in a call to the SetJumpList method. Se você modificar o conteúdo de JumpList em tempo de execução, deverá chamar o Apply método para aplicar seu conteúdo atual ao shell do Windows.If you modify the contents of the JumpList at run time, you must call the Apply method to apply its current contents to the Windows shell.

Configurando uma lista de atalhos em XAMLSetting a Jump List in XAML

Um JumpList não é anexado automaticamente a um Application objeto.A JumpList is not automatically attached to an Application object. Você anexa um JumpList a um Application objeto em XAML usando a sintaxe da propriedade anexada.You attach a JumpList to an Application object in XAML by using the attached property syntax. A JumpList classe implementa a ISupportInitialize interface para oferecer suporte à declaração XAML JumpListde um.The JumpList class implements the ISupportInitialize interface to support XAML declaration of a JumpList. Se o JumpList for declarado em XAML e anexado ao atual Application, ele WindowsWindows será aplicado automaticamente ao shell quando o JumpList for inicializado.If the JumpList is declared in XAML and attached to the current Application, it is automatically applied to the WindowsWindows shell when the JumpList is initialized.

Configurando e modificando uma lista de atalhos no códigoSetting and Modifying a Jump List in Code

Você anexa um JumpList a um Application objeto no código chamando o método estático SetJumpList .You attach a JumpList to an Application object in code by calling the static SetJumpList method. Isso também aplica o JumpList WindowsWindows ao shell.This also applies the JumpList to the WindowsWindows shell.

Para modificar um JumpList em tempo de execução, você chama GetJumpList o método para obter JumpList o que está atualmente anexado a Applicationum.To modify a JumpList at run time, you call the GetJumpList method to get the JumpList that is currently attached to an Application. Depois de modificar as propriedades do JumpList, você deve chamar o Apply método para aplicar as alterações ao shell do Windows.After you have modified the properties of the JumpList, you must call the Apply method to apply the changes to the Windows shell.

Observação

Normalmente, você cria JumpList um que é anexado Application ao e aplicado ao WindowsWindows Shell.You typically create one JumpList that is attached to the Application and applied to the WindowsWindows shell. No entanto, você pode JumpList criar vários objetos.However, you can create multiple JumpList objects. Somente um JumpList de cada vez pode ser aplicado WindowsWindows ao shell, e apenas um JumpList de cada vez pode ser associado a um Application.Only one JumpList at a time can be applied to the WindowsWindows shell, and only one JumpList at a time can be associated with an Application. A .NET Framework não exige que elas sejam as mesmas JumpList.The .NET Framework does not require that these be the same JumpList.

Observação

Essa classe contém uma demanda de link no nível de classe que se aplica a todos os membros.This class contains a link demand at the class level that applies to all members. Um SecurityException é gerado quando o chamador imediato não tem permissão de confiança total.A SecurityException is thrown when the immediate caller does not have full-trust permission. Para obter mais informações sobre as demandas de segurança, consulte demandas de link e demandas de herança.For more information about security demands, see Link Demands and Inheritance Demands.

Construtores

JumpList() JumpList() JumpList() JumpList()

Inicializa uma nova instância da classe JumpList.Initializes a new instance of the JumpList class.

JumpList(IEnumerable<JumpItem>, Boolean, Boolean) JumpList(IEnumerable<JumpItem>, Boolean, Boolean) JumpList(IEnumerable<JumpItem>, Boolean, Boolean) JumpList(IEnumerable<JumpItem>, Boolean, Boolean)

Inicializa uma nova instância da classe JumpList com os parâmetros especificados.Initializes a new instance of the JumpList class with the specified parameters.

Propriedades

JumpItems JumpItems JumpItems JumpItems

Obtém a coleção de objetos JumpItem exibidos na Lista de Atalhos.Gets the collection of JumpItem objects that are displayed in the Jump List.

ShowFrequentCategory ShowFrequentCategory ShowFrequentCategory ShowFrequentCategory

Obtém ou define um valor que indica se os itens usados com frequência são exibidos na Lista de Atalhos.Gets or sets a value that indicates whether frequently used items are displayed in the Jump List.

ShowRecentCategory ShowRecentCategory ShowRecentCategory ShowRecentCategory

Obtém ou define um valor que indica se os itens usados recentemente são exibidos na Lista de Atalhos.Gets or sets a value that indicates whether recently used items are displayed in the Jump List.

Métodos

AddToRecentCategory(JumpPath) AddToRecentCategory(JumpPath) AddToRecentCategory(JumpPath) AddToRecentCategory(JumpPath)

Adiciona o caminho de atalhos especificado à categoria Recentes da Lista de Atalhos.Adds the specified jump path to the Recent category of the Jump List.

AddToRecentCategory(JumpTask) AddToRecentCategory(JumpTask) AddToRecentCategory(JumpTask) AddToRecentCategory(JumpTask)

Adiciona a tarefa de atalhos especificada à categoria Recentes da Lista de Atalhos.Adds the specified jump task to the Recent category of the Jump List.

AddToRecentCategory(String) AddToRecentCategory(String) AddToRecentCategory(String) AddToRecentCategory(String)

Adiciona o caminho do item especificado à categoria Recentes da Lista de Atalhos.Adds the specified item path to the Recent category of the Jump List.

Apply() Apply() Apply() Apply()

Envia o JumpList para o shell do Windows em seu estado atual.Sends the JumpList to the Windows shell in its current state.

BeginInit() BeginInit() BeginInit() BeginInit()

Sinaliza o início da inicialização JumpList.Signals the start of the JumpList initialization.

EndInit() EndInit() EndInit() EndInit()

Sinaliza o término da inicialização do JumpList.Signals the end of the JumpList initialization.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Serve como a função de hash padrão.Serves as the default hash function.

(Inherited from Object)
GetJumpList(Application) GetJumpList(Application) GetJumpList(Application) GetJumpList(Application)

Retorna o objeto JumpList associado a um aplicativo.Returns the JumpList object associated with an application.

GetType() GetType() GetType() GetType()

Obtém o Type da instância atual.Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Cria uma cópia superficial do Object atual.Creates a shallow copy of the current Object.

(Inherited from Object)
SetJumpList(Application, JumpList) SetJumpList(Application, JumpList) SetJumpList(Application, JumpList) SetJumpList(Application, JumpList)

Define o objeto JumpList associado a um aplicativo.Sets the JumpList object associated with an application.

ToString() ToString() ToString() ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.Returns a string that represents the current object.

(Inherited from Object)

Eventos

JumpItemsRejected JumpItemsRejected JumpItemsRejected JumpItemsRejected

Ocorre quando itens de atalho não são adicionados com êxito à lista de atalhos pelo shell do Windows.Occurs when jump items are not successfully added to the Jump List by the Windows shell.

JumpItemsRemovedByUser JumpItemsRemovedByUser JumpItemsRemovedByUser JumpItemsRemovedByUser

Ocorre quando itens de atalho anteriormente na lista de atalhos são removidos da lista pelo usuário.Occurs when jump items previously in the Jump List are removed from the list by the user.

Segurança

UIPermission
para obter acesso completo para modificar o Shell do Windows.for full access to modify the Windows shell. Ação de segurança: LinkDemand.Security action: LinkDemand. Enumeração associada: AllWindowsAssociated enumeration: AllWindows

Aplica-se a