Exportar (0) Imprimir
Expandir todo
Este artículo se tradujo de forma manual. Mueva el puntero sobre las frases del artículo para ver el texto original.
Traducción
Original

JumpList (Clase)

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.

System.Object
  System.Windows.Shell.JumpList

Espacio de nombres:  System.Windows.Shell
Ensamblado:  PresentationFramework (en PresentationFramework.dll)
XMLNS para XAML: No asignado a un xmlns.

[ContentPropertyAttribute("JumpItems")]
[UIPermissionAttribute(SecurityAction.LinkDemand, Window = UIPermissionWindow.AllWindows)]
public sealed class JumpList : ISupportInitialize
<JumpList>
  JumpItems
</JumpList>

El tipo JumpList expone los siguientes miembros.

  NombreDescripción
Método públicoJumpList()Inicializa una nueva instancia de la clase JumpList.
Método públicoJumpList(IEnumerable<JumpItem>, Boolean, Boolean)Inicializa una nueva instancia de la clase JumpList con los parámetros especificados.
Arriba

  NombreDescripción
Propiedad públicaJumpItemsObtiene la colección de objetos JumpItem que aparecen en la Jump List.
Propiedad públicaShowFrequentCategoryObtiene o establece un valor que indica si los elementos que se usan con frecuencia aparecen en la Jump List.
Propiedad públicaShowRecentCategoryObtiene o establece un valor que indica si los elementos usados recientemente aparecen en la Jump List.
Arriba

  NombreDescripción
Método públicoMiembro estáticoAddToRecentCategory(JumpPath)Agrega la ruta de acceso especificada para el salto a la categoría Reciente de la Jump List.
Método públicoMiembro estáticoAddToRecentCategory(JumpTask)Agrega la tarea especificada para el salto a la categoría Reciente de la Jump List.
Método públicoMiembro estáticoAddToRecentCategory(String)Agrega la ruta de acceso del elemento especificado a la categoría Reciente de la Jump List.
Método públicoApplyEnvía JumpList al shell de Windows en su estado actual.
Método públicoBeginInitInfraestructura. Señala el comienzo de la inicialización de JumpList.
Método públicoEndInitInfraestructura. Señala el fin de la inicialización de JumpList.
Método públicoEquals(Object)Determina si el objeto Object especificado es igual al objeto Object actual. (Se hereda de Object).
Método protegidoFinalize Permite que un objeto intente liberar recursos y realizar otras operaciones de limpieza antes de ser reclamado por la recolección de elementos no utilizados. (Se hereda de Object).
Método públicoGetHashCodeActúa como función hash para un tipo concreto. (Se hereda de Object).
Método públicoMiembro estáticoGetJumpListDevuelve el objeto JumpList asociado a una aplicación.
Método públicoGetType Obtiene el Type de la instancia actual. (Se hereda de Object).
Método protegidoMemberwiseClone Crea una copia superficial del Object actual. (Se hereda de Object).
Método públicoMiembro estáticoSetJumpListEstablece el objeto JumpList asociado a una aplicación.
Método públicoToString Retorna una cadena que representa al objeto actual. (Se hereda de Object).
Arriba

  NombreDescripción
Evento públicoJumpItemsRejectedSe produce cuando el shell de Windows no agrega correctamente los elementos de salto a la Jump list.
Evento públicoJumpItemsRemovedByUserSe produce cuando el usuario quita de la lista los elementos de salto que anteriormente estaban en la Jump List.
Arriba

La barra de tareas Windows 7 proporciona la funcionalidad mejorada para iniciar programas directamente del botón de la barra de tareas con las Jump List. Las Jump Lists también se usan en el menú Inicio de Windows 7. Puede tener acceso a una Jump List haciendo clic con el botón secundario en un botón de la barra de tareas, o haciendo clic en la flecha junto a un programa en el menú Inicio. Para obtener más información sobre Jump Lists, vea la sección Taskbar de Windows User Experience Interaction Guidelines.

La clase JumpList proporciona un contenedor administrado para la funcionalidad Jump List en la barra de tareas Windows 7 y administra los datos pasados al núcleo Windows. La funcionalidad que expone la clase JumpList no está disponible en versiones de Windows anteriores a Windows 7. Las aplicaciones que usan la clase JumpList se ejecutarán en otras versiones de Windows, pero la Jump List no estará disponible. Para obtener más información sobre el uso del shell de Windows y API de Jump List nativas, vea Taskbar Extensions.

La siguiente ilustración muestra la Jump list del Reproductor de Windows Media, con elementos en las categorías Frecuente y Tareas.

Jump List del Reproductor de Windows Media

Jump List del Reproductor de Windows Media

Configurar una Jump List

Las Jump Lists pueden contener dos tipos de elementos, JumpTask y JumpPath. Un 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 Jump List creando un JumpTask que no tenga especificado Title ni CustomCategory. Este JumpTask vacío se mostrará como una línea horizontal en la Jump List.

NotaNota

Si su aplicación no registra el tipo de archivo especificado en JumpPath, el archivo no aparecerá en la Jump List. Por ejemplo, si agrega un JumpPath que señala a un archivo .txt, su aplicación se debe registrar para administrar archivos .txt. Para obtener más información, vea Introduction to File Associations.

Los elementos de salto se colocan en categorías en JumpList. De manera predeterminada, se muestra un JumpItem en la categoría Tareas. Otra posibilidad consiste en especificar CustomCategory para JumpItem.

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

Aplicar una Jump List al shell de Windows

No puede obtener acceso directamente a la Jump List del shell o leer su contenido en la clase JumpList. En su lugar, la clase JumpList proporciona una representación de un Jump List con la que puede trabajar y, a continuación, se aplica al shell de Windows. Normalmente, creará JumpList y lo establecerá una vez cuando primero se ejecuta la aplicación. Sin embargo, puede modificar o reemplazar JumpList en tiempo de ejecución.

Al haber establecido las propiedades JumpList, se debe aplicar JumpList al shell de Windows antes de que su contenido aparezca en el barra de tareas Jump List. Automáticamente se hace esto cuando JumpList se adjunta primero a una aplicación, bien en XAML o en una llamada al método SetJumpList. Si modifica el contenido de JumpList en tiempo de ejecución, debe llamar al método Apply para aplicar su contenido actual al shell de Windows.

Establecer una Jump List en XAML

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

Establecer y modificar una Jump List en el código

Adjunta JumpList a un objeto Application en código llamando al método SetJumpList estático. Esto también aplica JumpList al shell Windows.

Para modificar JumpList en tiempo de ejecución, llame al método GetJumpList para obtener JumpList que se adjuntan actualmente a Application. Una vez modificadas las propiedades de JumpList, debe llamar al método Apply para aplicar los cambios al shell de Windows.

NotaNota

Normalmente, crea un JumpList que se adjunta a Application y se aplica al shell Windows. Sin embargo, puede crear varios objetos JumpList. Solo un JumpList se puede aplicar a la vez al núcleo Windows y solo un JumpList puede estar asociado a la vez a Application. El entorno .NET Framework no requiere que éstos sean lo mismo que JumpList.

NotaNota

Esta clase contiene una petición de vínculo en el nivel de clase que se aplica a todos los miembros. Si el llamador inmediato no dispone de permisos de plena confianza, se produce una excepción SecurityException. Para obtener más información sobre solicitudes de seguridad, vea Peticiones de vínculos y Peticiones de herencia.

En el ejemplo siguiente se muestra una aplicación con una Jump List. La aplicación tiene tres botones que le permiten agregar una tarea a la Jump List actual, desactiva el contenido de la Jump List y aplica una nueva Jump List a la aplicación.

En el ejemplo siguiente, se muestra cómo declarar JumpList en marcado. JumpList contiene dos vínculos JumpTask y uno JumpPath. La aplicación de JumpPath al shell producirá un error si la aplicación no está registrada para administrar 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 eventos JumpItemsRejected 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, desactivar y crear un JumpList en código de procedimiento. Para la nueva Jump List, se llama al método SetJumpList estático para asociar JumpList con la aplicación actual y aplicar JumpList al 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);
        }
    }
}


.NET Framework

Compatible con: 4

.NET Framework Client Profile

Compatible con: 4

Windows 7, Windows Vista SP1 o posterior, Windows XP SP3, Windows Server 2008 (no se admite Server Core), Windows Server 2008 R2 (se admite Server Core con SP1 o posterior), Windows Server 2003 SP2

.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

Todos los miembros static (Shared en Visual Basic) públicos de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft