JumpList Класс

Определение

Представляет список элементов и задач, отображаемых на кнопке панели задач 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
Наследование
JumpList
Атрибуты
Реализации

Примеры

В следующем примере показано приложение со списком переходов.The following example shows an application with a Jump List. В приложении есть три кнопки, позволяющие добавить задачу в текущий список переходов, очистить содержимое списка переходов и применить новый список переходов к приложению.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.

В следующем примере показано, JumpList как объявить в разметке.The following example shows how to declare a JumpList in markup. Содержит две JumpTask ссылки и одну JumpPath. JumpListThe JumpList contains two JumpTask links and one JumpPath. JumpPath Применение к оболочке завершится ошибкой, если приложение не зарегистрировано для обработки расширения имени файла. 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>

В следующем примере показана страница кода программной части App.xamlдля.The following example shows the code-behind page for App.xaml. Этот код обрабатывает JumpItemsRejected события и JumpItemsRemovedByUser .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());
        }
    }
}

В следующем примере показана разметка, используемая для создания пользовательского интерфейса приложения.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>

В следующем примере показана страница кода программной части MainWindow.xamlдля.The following example shows the code-behind page for MainWindow.xaml. JumpList В этом коде показано, как изменить, очистить и создать в процедурном коде.This code demonstrates how to modify, clear, and create a JumpList in procedural code. Для нового списка переходов вызывается статический SetJumpList метод, который связывает объект JumpList с JumpList текущим приложением и применяет к оболочке 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);
        }
    }
}

Комментарии

Windows 7Windows 7 Панель задач предоставляет расширенные возможности для запуска программ непосредственно из кнопки панели задач с помощью списков переходов.The Windows 7Windows 7 taskbar provides enhanced functionality for starting programs directly from the taskbar button by using Jump Lists. Списки переходов также используются в Windows 7Windows 7 меню Пуск.Jump Lists are also used in the Windows 7Windows 7 Start menu. Для доступа к списку переходов щелкните правой кнопкой мыши кнопку на панели задач или щелкните стрелку рядом с программой в меню "Пуск".You access a Jump List by right-clicking a taskbar button or by clicking the arrow next to a program in the Start menu. Дополнительные сведения о списках переходов см. в разделе панели задач руководства по взаимодействию с пользователем Windows.For more information about Jump Lists, see the Taskbar section of the Windows User Experience Interaction Guidelines.

Класс предоставляет управляемую оболочку для функции списка переходов Windows 7Windows 7 на панели задач и управляет данными, передаваемыми WindowsWindows в оболочку. JumpListThe 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. Функции, предоставляемые JumpList классом, недоступны в версиях, WindowsWindows предшествующих Windows 7Windows 7.The functionality exposed by the JumpList class is not available in versions of WindowsWindows earlier than Windows 7Windows 7. Приложения, использующие JumpList класс WindowsWindows, будут выполняться в других версиях, но список переходов будет недоступен.Applications that use the JumpList class will run in other versions of WindowsWindows, but the Jump List will not be available. Дополнительные сведения о оболочке Windows и интерфейсах API списков переходов в машинном код см. в разделе расширения панели задач.For more information about the Windows shell and native Jump List APIs, see Taskbar Extensions.

На следующем рисунке показан список переходов для проигрывателя Windows Media с элементами в категориях задачи и часто заданные категории.The following illustration shows the Jump List for Windows Media Player, with items in the Tasks and Frequent categories.

![Список переходов проигрывателя Windows Media] (~/add/media/wpfshell-jumplist.png "Список переходов проигрывателя Windows Media")Windows Media Player Jump List
Список переходов проигрывателя Windows MediaWindows Media Player Jump List

Настройка списка переходовConfiguring a Jump List

Списки переходов могут содержать два типа элементов: JumpTask JumpPathи.Jump Lists can contain two types of items, a JumpTask and a JumpPath. A JumpTask — это ссылка на программу JumpPath , а — ссылка на файл.A JumpTask is a link to a program and a JumpPath is a link to a file. Вы можете визуально разделять элементы в списке переходов, JumpTask создав объект, который не Title имеет CustomCategory и не указал.You can visually separate items in a Jump List by creating a JumpTask that does not have a Title and CustomCategory specified. Эта пустая JumpTask строка будет отображаться в виде горизонтальной линии в списке переходов.This empty JumpTask will be displayed as a horizontal line in the Jump List.

Примечание

Если тип файла, указанный в JumpPath , не зарегистрирован в приложении, он не будет отображаться в списке переходов.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. Например, если добавить объект JumpPath , указывающий на TXT-файл, приложение должно быть зарегистрировано для обработки TXT-файлов.For example, if you add a JumpPath that points to a .txt file, your application must be registered to handle .txt files. Дополнительные сведения см. в разделе Введение в сопоставления файлов.For more information, see Introduction to File Associations.

Элементы перехода помещаются в категории в JumpList.Jump items are placed into categories in the JumpList. По умолчанию JumpItem в категории задачи отображается.By default, a JumpItem is displayed in the Tasks category. Кроме того, можно указать CustomCategory JumpItemдля.Alternatively, you can specify a CustomCategory for the JumpItem.

Можно указать, отображаются ли стандартные последние и часто используемые категории в, JumpList установив ShowRecentCategory свойства и ShowFrequentCategory .You can specify whether the standard Recent and Frequent categories are displayed in the JumpList by setting the ShowRecentCategory and ShowFrequentCategory properties. Содержимое этих категорий управляется WindowsWindows оболочкой.The contents of these categories are managed by the WindowsWindows shell. Так как эти категории могут содержать большую часть одних и тех же данных, обычно отображается одна или другая JumpListв, но не обе.Because these categories might contain much of the same data, you typically display one or the other in your JumpList, but not both. WindowsWindowsавтоматически управляет последними элементами, если они открыты с помощью общего диалогового окна файла или используются для открытия приложения с помощью сопоставления типов файлов.automatically manages recent items if they are opened through a common file dialog box or used to open an application through file type association. При доступе к элементу через список переходов можно уведомить WindowsWindows оболочку, чтобы добавить элемент в AddToRecentCategory категорию последних , вызвав метод.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.

Применение списка переходов к оболочке WindowsApplying a Jump List to the Windows Shell

Невозможно напрямую получить доступ к списку переходов оболочки или прочитать его содержимое в JumpList классе.You cannot access the shell's Jump List directly or read its contents into the JumpList class. Вместо этого WindowsWindows класс предоставляет представление списка переходов, с которым можно работать, а затем применяется к оболочке. JumpListInstead, the JumpList class provides a representation of a Jump List that you can work with, and then apply to the WindowsWindows shell. Обычно вы создаете JumpList и устанавливаете его один раз при первом запуске приложения.You typically create a JumpList and set it one time when the application is first run. Однако JumpList во время выполнения можно изменить или заменить.However, you can modify or replace the JumpList at run time.

После задания JumpList свойств необходимо применить к оболочке Windows, JumpList прежде чем ее содержимое появится в списке переходов панели задач.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. Это делается автоматически при JumpList первом присоединении к приложению в XAML или при вызове SetJumpList метода.This is done automatically when the JumpList is first attached to an application, either in XAML or in a call to the SetJumpList method. При изменении содержимого JumpList во время выполнения необходимо Apply вызвать метод, чтобы применить его текущее содержимое к оболочке 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.

Задание списка переходов в XAMLSetting a Jump List in XAML

Application Объект не будет автоматически присоединен к объекту. JumpListA JumpList is not automatically attached to an Application object. JumpList ПрисоединениеApplication к объекту в XAML осуществляется с помощью синтаксиса присоединенного свойства.You attach a JumpList to an Application object in XAML by using the attached property syntax. Класс реализует интерфейс для поддержки объявления XAML. JumpList JumpList ISupportInitializeThe JumpList class implements the ISupportInitialize interface to support XAML declaration of a JumpList. Если объект JumpList объявлен в XAML и присоединен к текущему Applicationобъекту, он автоматически применяется JumpList к WindowsWindows оболочке при инициализации.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.

Установка и изменение списка переходов в кодеSetting and Modifying a Jump List in Code

Присоедините JumpList Application к объекту в коде, вызвав статический SetJumpList метод.You attach a JumpList to an Application object in code by calling the static SetJumpList method. Это также применяет JumpList WindowsWindows к оболочке.This also applies the JumpList to the WindowsWindows shell.

Для изменения JumpList во время выполнения GetJumpList вызывается метод для получения объекта JumpList , который в данный момент присоединен к Application.To modify a JumpList at run time, you call the GetJumpList method to get the JumpList that is currently attached to an Application. После изменения свойств объекта JumpListнеобходимо Apply вызвать метод, чтобы применить изменения к оболочке Windows.After you have modified the properties of the JumpList, you must call the Apply method to apply the changes to the Windows shell.

Примечание

Обычно создается тот JumpList объект Application , который прикрепляется к и применяется к WindowsWindows оболочке.You typically create one JumpList that is attached to the Application and applied to the WindowsWindows shell. Однако можно создать несколько JumpList объектов.However, you can create multiple JumpList objects. К оболочке можно применить только один JumpList элемент за раз, и только одна из них JumpList может быть связана с Application. WindowsWindowsOnly 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. .NET Framework не требует, чтобы они были одинаковыми JumpList.The .NET Framework does not require that these be the same JumpList.

Примечание

Этот класс содержит запрос компоновки на уровне класса, который применяется ко всем элементам.This class contains a link demand at the class level that applies to all members. SecurityException Исключение возникает, если непосредственный вызывающий объект не имеет разрешения на полное доверие.A SecurityException is thrown when the immediate caller does not have full-trust permission. Дополнительные сведения о требованиях безопасности см. в разделе требования к связыванию и требования наследования.For more information about security demands, see Link Demands and Inheritance Demands.

Конструкторы

JumpList()

Инициализирует новый экземпляр класса JumpList.Initializes a new instance of the JumpList class.

JumpList(IEnumerable<JumpItem>, Boolean, Boolean)

Инициализирует новый экземпляр класса JumpList заданными параметрами.Initializes a new instance of the JumpList class with the specified parameters.

Свойства

JumpItems

Получает коллекцию объектов JumpItem, отображаемых в списке переходов.Gets the collection of JumpItem objects that are displayed in the Jump List.

ShowFrequentCategory

Получает или задает значение, указывающее, отображаются ли часто используемые элементы в списке переходов.Gets or sets a value that indicates whether frequently used items are displayed in the Jump List.

ShowRecentCategory

Получает или задает значение, указывающее, отображаются ли недавно использовавшиеся элементы в списке переходов.Gets or sets a value that indicates whether recently used items are displayed in the Jump List.

Методы

AddToRecentCategory(JumpPath)

Добавляет указанный путь перехода в категорию Последние списка переходов.Adds the specified jump path to the Recent category of the Jump List.

AddToRecentCategory(JumpTask)

Добавляет указанную задачу перехода в категорию Последние списка переходов.Adds the specified jump task to the Recent category of the Jump List.

AddToRecentCategory(String)

Добавляет указанный путь к элементу в категорию Последние списка переходов.Adds the specified item path to the Recent category of the Jump List.

Apply()

Передает список JumpList в оболочку Windows в текущем состоянии.Sends the JumpList to the Windows shell in its current state.

BeginInit()

Сигнализирует о начале инициализации объекта JumpList.Signals the start of the JumpList initialization.

EndInit()

Сигнализирует о завершении инициализации объекта JumpList.Signals the end of the JumpList initialization.

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.Determines whether the specified object is equal to the current object.

(Унаследовано от Object)
GetHashCode()

Служит в качестве хэш-функции по умолчанию.Serves as the default hash function.

(Унаследовано от Object)
GetJumpList(Application)

Возвращает объект JumpList, связанный с приложением.Returns the JumpList object associated with an application.

GetType()

Возвращает объект Type для текущего экземпляра.Gets the Type of the current instance.

(Унаследовано от Object)
MemberwiseClone()

Создает неполную копию текущего объекта Object.Creates a shallow copy of the current Object.

(Унаследовано от Object)
SetJumpList(Application, JumpList)

Задает объект JumpList, связанный с приложением.Sets the JumpList object associated with an application.

ToString()

Возвращает строку, представляющую текущий объект.Returns a string that represents the current object.

(Унаследовано от Object)

События

JumpItemsRejected

Происходит, когда оболочке Windows не удается добавить элементы в список переходов.Occurs when jump items are not successfully added to the Jump List by the Windows shell.

JumpItemsRemovedByUser

Происходит при удалении пользователем ранее добавленных элементов из списка переходов.Occurs when jump items previously in the Jump List are removed from the list by the user.

Безопасность

UIPermission
для полного доступа к изменению оболочки Windows.for full access to modify the Windows shell. Действие по обеспечению безопасности: LinkDemand.Security action: LinkDemand. Связанное перечисление:AllWindowsAssociated enumeration: AllWindows

Применяется к