JumpList Clase

Definición

Representa una lista de elementos y tareas que se muestra como un menú de un botón de la barra de tareas de 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
Herencia
JumpList
Atributos
Implementaciones

Ejemplos

En el ejemplo siguiente se muestra una aplicación con una lista de accesos directos. La aplicación tiene tres botones que le permiten agregar una tarea a la lista de accesos directos actual, borrar el contenido de la lista de accesos directos y aplicar una nueva lista de accesos directos a la aplicación.

En el ejemplo siguiente se muestra cómo declarar en JumpList el marcado. JumpList contiene dos JumpTask vínculos y uno JumpPath. JumpPath Si la aplicación se aplica al shell, se producirá un error si la aplicación no está registrada para controlar la extensión de nombre de archivo .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>

En el ejemplo siguiente se muestra la página de código subyacente para App.xaml. Este código controla los JumpItemsRejected eventos y JumpItemsRemovedByUser .

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

En el ejemplo siguiente se muestra el marcado usado para crear la interfaz de usuario de la aplicación.

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

En el ejemplo siguiente se muestra la página de código subyacente para MainWindow.xaml. Este código muestra cómo modificar, borrar y crear un JumpList elemento en el código de procedimientos. Para la nueva lista de accesos directos, se llama al método estático SetJumpList para asociar con JumpList la aplicación actual y aplicar al JumpList shell de 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);
        }
    }
}

Comentarios

La barra de tareas de Windows 7 proporciona una funcionalidad mejorada para iniciar programas directamente desde el botón de la barra de tareas mediante listas de accesos directos. Las listas de accesos directos también se usan en el menú Inicio de Windows 7. Para acceder a una lista de accesos directos, haga clic con el botón derecho en un botón de barra de tareas o haga clic en la flecha situada junto a un programa en el menú Inicio. Para obtener más información sobre las listas de accesos directos, consulta la sección Barra de tareas de las Directrices de interacción de la experiencia del usuario de Windows.

La JumpList clase proporciona un contenedor administrado para la funcionalidad Jump List en la barra de tareas de Windows 7 y administra los datos pasados al shell de Windows. La funcionalidad expuesta por la JumpList clase no está disponible en versiones de Windows anteriores a Windows 7. Las aplicaciones que usan la JumpList clase se ejecutarán en otras versiones de Windows, pero la lista de accesos directos no estará disponible. Para obtener más información sobre el shell de Windows y las API nativas de Jump List, vea Extensiones de barra de tareas.

En la ilustración siguiente se muestra la lista de accesos directos para Reproductor multimedia de Windows, con elementos en las categorías Tareas y Frecuentes.

Reproductor multimedia de Windows Lista de accesos directos
Jump List de Windows Media Player

Configuración de una lista de saltos

Las listas de accesos directos pueden contener dos tipos de elementos, y JumpTask .JumpPath A JumpTask es un vínculo a un programa y un JumpPath es un vínculo a un archivo. Puede separar visualmente los elementos de una lista de accesos directos mediante la creación de un que JumpTask no tiene un Title y CustomCategory especificado. Este vacío JumpTask se mostrará como una línea horizontal en la lista de accesos directos.

Nota:

Si el tipo de archivo especificado en no JumpPath está registrado con la aplicación, el archivo no aparecerá en la lista de accesos directos. Por ejemplo, si agrega un JumpPath que apunta a un archivo .txt, la aplicación debe estar registrada para controlar .txt archivos. Para obtener más información, vea Introducción a las asociaciones de archivos.

Los elementos de salto se colocan en categorías de JumpList. De forma predeterminada, se muestra un JumpItem en la categoría Tareas . Como alternativa, puede especificar para CustomCategory .JumpItem

Puede especificar si las categorías recientes y frecuentes estándar se muestran en JumpList estableciendo las ShowRecentCategory propiedades y ShowFrequentCategory . El shell de Windows administra el contenido de estas categorías. Dado que estas categorías pueden contener gran parte de los mismos datos, normalmente se muestra uno o el otro en JumpList, pero no ambos. Windows administra automáticamente los elementos recientes si se abren a través de un cuadro de diálogo de archivo común o se usan para abrir una aplicación a través de la asociación de tipo de archivo. Cuando se accede a un elemento a través de la lista de accesos directos, puede notificar al shell de Windows que agregue el elemento a la categoría Recent llamando al AddToRecentCategory método .

Aplicación de una lista de accesos directos al Shell de Windows

No se puede acceder directamente a la lista de accesos directos del shell ni leer su contenido en la JumpList clase . En su lugar, la JumpList clase proporciona una representación de una lista de accesos directos con la que puede trabajar y, a continuación, se aplica al shell de Windows. Normalmente, se crea y JumpList se establece una vez cuando la aplicación se ejecuta por primera vez. Sin embargo, puede modificar o reemplazar en JumpList tiempo de ejecución.

Cuando haya establecido las JumpList propiedades, debe aplicar al JumpList shell de Windows antes de que su contenido aparezca en la lista de accesos directos de la barra de tareas. Esto se realiza automáticamente cuando JumpList se adjunta por primera vez a una aplicación, ya sea en XAML o en una llamada al SetJumpList método . Si modifica el contenido de en tiempo de JumpList ejecución, debe llamar al Apply método para aplicar su contenido actual al shell de Windows.

Establecer una lista de saltos en XAML

Un JumpList no se adjunta automáticamente a un Application objeto . Se adjunta un objeto JumpList a un Application objeto en XAML mediante la sintaxis de propiedad adjunta. La JumpList clase implementa la interfaz para admitir la ISupportInitialize declaración XAML de .JumpList JumpList Si se declara en XAML y se adjunta al actualApplication, se aplica automáticamente al shell de Windows cuando JumpList se inicializa .

Establecer y modificar una lista de saltos en el código

Un objeto se adjunta JumpList a un Application objeto en el código mediante una llamada al método estático SetJumpList . Esto también se aplica JumpList al shell de Windows.

Para modificar un objeto JumpList en tiempo de ejecución, llame al GetJumpList método para obtener el JumpList objeto que está asociado actualmente a .Application Después de modificar las propiedades de JumpList, debe llamar al Apply método para aplicar los cambios en el shell de Windows.

Nota:

Normalmente, se crea uno JumpList que se adjunta a Application y se aplica al shell de Windows. Sin embargo, puede crear varios JumpList objetos. Solo se puede aplicar una JumpList a la vez al shell de Windows, y solo una JumpList a la vez se puede asociar a .Application .NET Framework no requiere que sean iguales JumpList.

Nota:

Esta clase contiene una demanda de vínculo en el nivel de clase que se aplica a todos los miembros. SecurityException Se produce una excepción cuando el llamador inmediato no tiene permiso de plena confianza. Para obtener más información sobre las demandas de seguridad, consulte Demandas de vínculo y demandas de herencia.

Constructores

JumpList()

Inicializa una nueva instancia de la clase JumpList.

JumpList(IEnumerable<JumpItem>, Boolean, Boolean)

Inicializa una nueva instancia de la clase JumpList con los parámetros especificados.

Propiedades

JumpItems

Obtiene la colección de objetos JumpItem que aparecen en la Jump List.

ShowFrequentCategory

Obtiene o establece un valor que indica si los elementos que se usan con frecuencia aparecen en la Jump List.

ShowRecentCategory

Obtiene o establece un valor que indica si los elementos usados recientemente aparecen en la Jump List.

Métodos

AddToRecentCategory(JumpPath)

Agrega la ruta de acceso de acceso de salto especificada a la categoría Recientes de la lista de accesos directos.

AddToRecentCategory(JumpTask)

Agrega la tarea de salto especificada a la categoría Recientes de la lista de accesos directos.

AddToRecentCategory(String)

Agrega la ruta de acceso del elemento especificada a la categoría Recent de jump List.

Apply()

Envía JumpList al shell de Windows en su estado actual.

BeginInit()

Señala el inicio de la inicialización de JumpList.

EndInit()

Señala el final de la inicialización de JumpList.

Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetJumpList(Application)

Devuelve el objeto JumpList asociado a una aplicación.

GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
SetJumpList(Application, JumpList)

Establece el objeto JumpList asociado a una aplicación.

ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Eventos

JumpItemsRejected

Se produce cuando el shell de Windows no agrega correctamente los elementos de salto a la Jump list.

JumpItemsRemovedByUser

Se produce cuando el usuario quita de la lista los elementos de salto que anteriormente estaban en la Jump List.

Se aplica a