JumpList Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Representa uma lista de itens e tarefas exibidos como um menu em um botão Windows 7 barra de tarefas.
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
- Herança
-
JumpList
- Atributos
- Implementações
Exemplos
O exemplo a seguir mostra um aplicativo com uma Lista de Saltos. O aplicativo tem três botões que permitem adicionar uma tarefa à Lista de Saltos atual, limpar o conteúdo da Lista de Saltos e aplicar uma nova Lista de Saltos ao aplicativo.
O exemplo a seguir mostra como declarar uma JumpList marcação na marcação. O JumpList contém dois JumpTask links e um JumpPath. A aplicação do JumpPath shell falhará se o aplicativo não estiver registrado para manipular a extensão de nome de arquivo .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>
O exemplo a seguir mostra a página code-behind para App.xaml. Esse código manipula os eventos e JumpItemsRemovedByUser os JumpItemsRejected eventos.
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.
<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 para MainWindow.xaml. Esse código demonstra como modificar, limpar e criar um JumpList código processual. Para a nova Lista de Saltos, o método SetJumpList estático é chamado para associar o JumpList ao aplicativo atual e aplicar o JumpList ao shell 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);
}
}
}
Comentários
A barra de tarefas Windows 7 fornece funcionalidade aprimorada para iniciar programas diretamente do botão da barra de tarefas usando Listas de Saltos. As Listas de Saltos também são usadas no menu iniciar Windows 7. Você acessa uma Lista de Saltos 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. Para obter mais informações sobre Listas de Saltos, consulte a seção Taskbar das diretrizes de interação da experiência do usuário Windows.
A classe JumpList fornece um wrapper gerenciado para a funcionalidade Jump List na barra de tarefas Windows 7 e gerencia os dados passados para o shell Windows. A funcionalidade exposta pela classe JumpList não está disponível em versões de Windows anteriores a Windows 7. Os aplicativos que usam a classe JumpList serão executados em outras versões do Windows, mas a Lista de Saltos não estará disponível. Para obter mais informações sobre o shell Windows e as APIs nativas da Lista de Saltos, consulte As extensões doTaskbar.
A ilustração a seguir mostra a Lista de Saltos para Windows Player de Mídia, com itens nas categorias Tasks e Frequent.
Windows Player de Mídia Jump List
Configurando uma lista de saltos
As Listas de Saltos podem conter dois tipos de itens, um JumpTask e um JumpPath. Um JumpTask é um link para um programa e um JumpPath é um link para um arquivo. Você pode separar visualmente itens em uma Lista de Saltos criando um JumpTask que não tem um Title e CustomCategory especificado. Esse vazio JumpTask será exibido como uma linha horizontal na Lista de Saltos.
Observação
Se o tipo do arquivo especificado em um JumpPath não for registrado com seu aplicativo, o arquivo não aparecerá na Lista de Saltos. Por exemplo, se você adicionar um JumpPath que aponte para um arquivo .txt, seu aplicativo deverá ser registrado para lidar com arquivos .txt. Para obter mais informações, consulte Introdução às Associações de Arquivos.
Os itens de salto são colocados em categorias no JumpList. Por padrão, um JumpItem é exibido na categoria Tarefas . Como alternativa, você pode especificar um CustomCategory para o JumpItem.
Você pode especificar se as categorias recentes e frequentes padrão são exibidas na JumpList configuração e ShowFrequentCategory nas ShowRecentCategory propriedades. O conteúdo dessas categorias é gerenciado pelo shell Windows. Como essas categorias podem conter muitos dos mesmos dados, você normalmente exibe um ou outro em seu JumpList, mas não ambos. Windows gerencia automaticamente itens recentes se eles são abertos por meio de uma caixa de diálogo de arquivo comum ou usados para abrir um aplicativo por meio da associação de tipo de arquivo. Quando um item é acessado por meio da Lista de Saltos, você pode notificar o shell Windows para adicionar o item à categoria Recent chamando o método AddToRecentCategory.
Aplicando uma lista de saltos ao shell do Windows
Você não pode acessar a Lista de Saltos do shell diretamente ou ler seu conteúdo na JumpList classe. Em vez disso, a classe JumpList fornece uma representação de uma Lista de Saltos com a qual você pode trabalhar e, em seguida, aplica-se ao shell Windows. Normalmente, você cria e JumpList define uma vez quando o aplicativo é executado pela primeira vez. No entanto, você pode modificar ou substituir o JumpList tempo de execução.
Quando você tiver definido as propriedades JumpList, deverá aplicar o JumpList ao shell Windows antes que seu conteúdo apareça na lista de saltos da barra de tarefas. Isso é feito automaticamente quando o JumpList aplicativo é anexado pela primeira vez, em XAML ou em uma chamada ao SetJumpList método. Se você modificar o conteúdo do JumpList em tempo de execução, deverá chamar o método Apply para aplicar seu conteúdo atual ao shell Windows.
Definindo uma lista de saltos em XAML
A JumpList não é anexada automaticamente a um Application objeto. Você anexa um JumpList objeto Application em XAML usando a sintaxe de propriedade anexada. A JumpList classe implementa a ISupportInitialize interface para dar suporte à declaração XAML de um JumpList. Se o JumpList for declarado em XAML e anexado ao Application atual, ele será aplicado automaticamente ao shell de Windows quando o JumpList for inicializado.
Configurando e modificando uma lista de saltos no código
Você anexa um JumpList objeto em Application código chamando o método estático SetJumpList . Isso também aplica o JumpList ao shell Windows.
Para modificar um JumpList em tempo de execução, você chama o GetJumpList método para obter o JumpList que está atualmente anexado a um Application. Depois de modificar as propriedades do JumpList, você deve chamar o método Apply para aplicar as alterações ao shell Windows.
Observação
Normalmente, você cria um JumpList anexado ao Application e aplicado ao shell Windows. No entanto, você pode criar vários JumpList objetos. Somente um JumpList por vez pode ser aplicado ao shell Windows e apenas um JumpList por vez pode ser associado a um Application. O .NET Framework não exige que eles sejam os mesmos JumpList.
Observação
Essa classe contém uma demanda de link no nível de classe que se aplica a todos os membros. Um SecurityException é gerado quando o chamador imediato não tem permissão de confiança total. Para obter mais informações sobre demandas de segurança, consulte Demandas de link.
Construtores
| Nome | Description |
|---|---|
| JumpList() |
Inicializa uma nova instância da classe JumpList. |
| JumpList(IEnumerable<JumpItem>, Boolean, Boolean) |
Inicializa uma nova instância da JumpList classe com os parâmetros especificados. |
Propriedades
| Nome | Description |
|---|---|
| JumpItems |
Obtém a coleção de JumpItem objetos exibidos na Lista de Saltos. |
| ShowFrequentCategory |
Obtém ou define um valor que indica se os itens usados com frequência são exibidos na Lista de Saltos. |
| ShowRecentCategory |
Obtém ou define um valor que indica se os itens usados recentemente são exibidos na Lista de Saltos. |
Métodos
| Nome | Description |
|---|---|
| AddToRecentCategory(JumpPath) |
Adiciona o jump path especificado à categoria Recente da Lista de Saltos. |
| AddToRecentCategory(JumpTask) |
Adiciona a tarefa de salto especificada à categoria Recente da Lista de Saltos. |
| AddToRecentCategory(String) |
Adiciona o caminho do item especificado à categoria Recente da Lista de Saltos. |
| Apply() |
Envia o JumpList para o shell Windows em seu estado atual. |
| BeginInit() |
Sinaliza o início da JumpList inicialização. |
| EndInit() |
Sinaliza o fim da JumpList inicialização. |
| Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
| GetHashCode() |
Serve como a função de hash padrão. (Herdado de Object) |
| GetJumpList(Application) |
Retorna o JumpList objeto associado a um aplicativo. |
| GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
| MemberwiseClone() |
Cria uma cópia superficial do Objectatual. (Herdado de Object) |
| SetJumpList(Application, JumpList) |
Define o JumpList objeto associado a um aplicativo. |
| ToString() |
Retorna uma cadeia de caracteres que representa o objeto atual. (Herdado de Object) |
Eventos
| Nome | Description |
|---|---|
| JumpItemsRejected |
Ocorre quando os itens de salto não são adicionados com êxito à Lista de Saltos pelo shell Windows. |
| JumpItemsRemovedByUser |
Ocorre quando os itens de salto anteriormente na Lista de Saltos são removidos da lista pelo usuário. |