JumpList Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Representa uma lista de itens e tarefas exibida como um menu num botão da barra de tarefas do 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
- Herança
-
JumpList
- Atributos
- Implementações
Exemplos
O exemplo seguinte mostra uma aplicação com uma Lista de Saltos. A aplicação tem três botões que permitem adicionar uma tarefa à Lista de Salto atual, limpar o conteúdo da Lista de Salto e aplicar uma nova Lista de Salto à aplicação.
O exemplo seguinte mostra como declarar um JumpList em marcação. O JumpList contém dois JumpTask links e um JumpPath. Aplicar o JumpPath ao shell falhará se a aplicação não estiver registada para gerir a extensão do nome do ficheiro .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 seguinte mostra a página por trás do código para App.xaml. Este código trata dos JumpItemsRejected eventos e JumpItemsRemovedByUser 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 seguinte mostra a marcação usada para criar a interface de utilizador da aplicação.
<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 seguinte mostra a página por trás do código para MainWindow.xaml. Este código demonstra como modificar, limpar e criar um JumpList código procedimental. Para a nova Jump List, o método estático SetJumpList é chamado para associar o JumpList à aplicação atual e aplicar o JumpList à 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);
}
}
}
Observações
A barra de tarefas do Windows 7 oferece funcionalidades melhoradas para iniciar programas diretamente a partir do botão da barra de tarefas, utilizando as Listas de Salto. As Listas de Salto também são usadas no menu Iniciar do Windows 7. Acede a uma Lista de Salto clicando com o botão direito num botão da barra de tarefas ou clicando na seta ao lado de um programa no menu Iniciar. Para mais informações sobre Listas de Saltos, consulte a secção Taskbar das Diretrizes de Interação da Experiência do Utilizador Windows.
A classe JumpList fornece um wrapper gerido para a funcionalidade Jump List na barra de tarefas Windows 7 e gere os dados passados para a Windows shell. A funcionalidade exposta pela classe JumpList não está disponível em versões de Windows anteriores a Windows 7. Aplicações que utilizam a classe JumpList correrão noutras versões do Windows, mas a Lista de Salto não estará disponível. Para mais informações sobre a shell Windows e as APIs nativas da Jump List, consulte Extensões da Barra de Tarefas.
A ilustração seguinte mostra a Lista de Salto para Windows leitor de multimédia, com itens nas categorias Tarefas e Frequentes.
Windows leitor de multimédia Lista de Saltos
Configuração de uma Lista de Salto
As listas de salto podem conter dois tipos de itens, a JumpTask e a JumpPath. A JumpTask é um link para um programa e a JumpPath é um link para um ficheiro. Podes separar visualmente os itens numa Lista de Salto criando um JumpTask que não tenha um Title e CustomCategory especificado. Este vazio JumpTask será apresentado como uma linha horizontal na Lista de Saltos.
Note
Se o tipo do ficheiro especificado no a JumpPath não estiver registado na sua candidatura, o ficheiro não aparecerá na Lista de Saltos. Por exemplo, se adicionar um JumpPath que aponta para um ficheiro .txt, a sua candidatura deve estar registada para tratar .txt ficheiros. Para mais informações, consulte Introdução às Associações de Ficheiros.
Os itens de salto são colocados em categorias na JumpList. Por defeito, a JumpItem é apresentado na categoria Tarefas . Alternativamente, pode especificar a CustomCategory para o JumpItem.
Pode especificar se as categorias padrão de Recente e Frequente são apresentadas em JumpList , definindo as ShowRecentCategory propriedades e ShowFrequentCategory . O conteúdo destas categorias é gerido pelo shell do Windows. Como estas categorias podem conter grande parte dos mesmos dados, normalmente apresenta uma ou outra no seu JumpList, mas não ambas. O Windows gere automaticamente os itens recentes se forem abertos através de uma caixa de diálogo comum de ficheiros ou usados para abrir uma aplicação através da associação de tipos de ficheiro. Quando um item é acedido através da Lista de Saltos, pode notificar o shell Windows para adicionar o item à categoria Recent chamando o método AddToRecentCategory.
Aplicar uma lista de salto ao Windows Shell
Não podes aceder diretamente à Lista de Salto da concha nem ler o seu conteúdo na JumpList aula. Em vez disso, a classe JumpList fornece uma representação de uma Lista de Salto com a qual podes trabalhar e depois aplicar ao shell Windows. Normalmente cria-se um JumpList e define-o uma vez quando a aplicação é executada pela primeira vez. No entanto, pode modificar ou substituir o JumpList tempo de execução.
Quando definir as propriedades JumpList, deve aplicar o JumpList à concha Windows antes que o seu conteúdo apareça na Lista de Salto da barra de tarefas. Isto é feito automaticamente quando este JumpList é ligado pela primeira vez a uma aplicação, seja em XAML ou numa chamada ao SetJumpList método. Se modificar o conteúdo do JumpList em tempo de execução, deve chamar o método Apply para aplicar o seu conteúdo atual à Windows shell.
Definir uma lista de salto em XAML
A JumpList não está automaticamente ligado a um Application objeto. Associa-se a JumpList a a a Application um objeto em XAML usando a sintaxe da propriedade anexada. A JumpList classe implementa a ISupportInitialize interface para suportar a declaração XAML de um JumpList. Se o JumpList for declarado em XAML e ligado ao atual Application, é automaticamente aplicado à Windows shell quando o JumpList é inicializado.
Definir e Modificar uma Lista de Salto no Código
Anexas a JumpList a a a Application um objeto em código chamando o método estático SetJumpList . Isto também aplica o JumpList à concha Windows.
Para modificar um JumpList at em tempo de execução, chama-se o GetJumpList método para obter o JumpList que está atualmente associado a um Application. Depois de modificares as propriedades do JumpList, deves chamar o método Apply para aplicar as alterações à Windows shell.
Note
Normalmente cria-se um JumpList que é ligado ao Application e aplicado à casca Windows. No entanto, podes criar vários JumpList objetos. Apenas um JumpList de cada vez pode ser aplicado à camada Windows, e apenas um JumpList de cada vez pode ser associado a um Application. O .NET Framework não exige que estes sejam os mesmos JumpList.
Note
Esta classe contém uma exigência de ligação ao nível da classe que se aplica a todos os membros. A SecurityException é lançado quando o chamador imediato não tem permissão de confiança total. Para mais informações sobre exigências de segurança, consulte Exigências de Ligação e Exigências de Herança.
Construtores
| Name | Description |
|---|---|
| JumpList() |
Inicializa uma nova instância da JumpList classe. |
| JumpList(IEnumerable<JumpItem>, Boolean, Boolean) |
Inicializa uma nova instância da JumpList classe com os parâmetros especificados. |
Propriedades
| Name | Description |
|---|---|
| JumpItems |
Obtém a coleção de JumpItem objetos que são exibidos na Lista de Saltos. |
| ShowFrequentCategory |
Recebe ou define um valor que indica se os itens usados frequentemente são exibidos na Lista de Saltos. |
| ShowRecentCategory |
Recebe ou define um valor que indica se os itens usados recentemente estão apresentados na Lista de Saltos. |
Métodos
| Name | Description |
|---|---|
| AddToRecentCategory(JumpPath) |
Adiciona o caminho de salto 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 a casca Windows no 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 função de hash predefinida. (Herdado de Object) |
| GetJumpList(Application) |
Devolve o JumpList objeto associado a uma aplicação. |
| GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
| MemberwiseClone() |
Cria uma cópia superficial do atual Object. (Herdado de Object) |
| SetJumpList(Application, JumpList) |
Define o JumpList objeto associado a uma aplicação. |
| ToString() |
Devolve uma cadeia que representa o objeto atual. (Herdado de Object) |
evento
| Name | Description |
|---|---|
| JumpItemsRejected |
Ocorre quando os itens de salto não são adicionados com sucesso à Lista de Salto pelo shell do Windows. |
| JumpItemsRemovedByUser |
Ocorre quando os itens de salto anteriormente na Lista de Salto são removidos da lista pelo utilizador. |