Данная статья переведена с помощью средств машинного перевода. Чтобы просмотреть ее на английском языке, установите флажок Английский. Вы также можете просматривать английский текст во всплывающем окне, наводя указатель мыши на переведенный текст.
Перевод
Английский

Класс JumpList

 

Опубликовано: Октябрь 2016

Представляет список элементов и задач, которые отображаются в виде меню на Windows 7 кнопку на панели задач.

Пространство имен:   System.Windows.Shell
Сборка:  PresentationFramework (в PresentationFramework.dll)


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

ИмяОписание
System_CAPS_pubmethodJumpList()

Инициализирует новый экземпляр класса JumpList.

System_CAPS_pubmethodJumpList(IEnumerable<JumpItem>, Boolean, Boolean)

Инициализирует новый экземпляр класса JumpList с заданными параметрами.

ИмяОписание
System_CAPS_pubpropertyJumpItems

Возвращает коллекцию JumpItem объекты, отображаемые в списке переходов.

System_CAPS_pubpropertyShowFrequentCategory

Возвращает или задает значение, указывающее, отображаются ли часто используемые элементы в списке переходов.

System_CAPS_pubpropertyShowRecentCategory

Возвращает или задает значение, указывающее, отображаются ли недавно использовавшиеся элементы в списке переходов.

ИмяОписание
System_CAPS_pubmethodSystem_CAPS_staticAddToRecentCategory(JumpPath)

Добавляет указанный путь перехода к последние категории списка переходов.

System_CAPS_pubmethodSystem_CAPS_staticAddToRecentCategory(JumpTask)

Добавляет указанную задачу перехода к последние категории списка переходов.

System_CAPS_pubmethodSystem_CAPS_staticAddToRecentCategory(String)

Добавляет указанный элемент пути к последние категории списка переходов.

System_CAPS_pubmethodApply()

Отправляет JumpList оболочку Windows в ее текущем состоянии.

System_CAPS_pubmethodBeginInit()

Этот API поддерживает инфраструктуру продукт, и его не следует использовать напрямую из кода. Сигнализирует о начале JumpList инициализации.

System_CAPS_pubmethodEndInit()

Этот API поддерживает инфраструктуру продукт, и его не следует использовать напрямую из кода. Признаком конца JumpList инициализации.

System_CAPS_pubmethodEquals(Object)

Определяет, равен ли заданный объект текущему объекту.(Наследуется от Object.)

System_CAPS_pubmethodGetHashCode()

Служит хэш-функцией по умолчанию.(Наследуется от Object.)

System_CAPS_pubmethodSystem_CAPS_staticGetJumpList(Application)

Возвращает JumpList объекта, связанного с приложением.

System_CAPS_pubmethodGetType()

Возвращает объект Type для текущего экземпляра.(Наследуется от Object.)

System_CAPS_pubmethodSystem_CAPS_staticSetJumpList(Application, JumpList)

Наборы JumpList объекта, связанного с приложением.

System_CAPS_pubmethodToString()

Возвращает строку, представляющую текущий объект.(Наследуется от Object.)

ИмяОписание
System_CAPS_pubeventJumpItemsRejected

Происходит, когда элементы не добавляются успешно список переходов, оболочкой Windows.

System_CAPS_pubeventJumpItemsRemovedByUser

Происходит, когда ранее добавленных элементов списка переходов по пользователя удаляются из списка.

Windows 7 Задач предоставляет расширенные функциональные возможности для запуска программ непосредственно из кнопки панели задач с помощью списка переходов. Списки переходов также используются в Windows 7 меню «Пуск». Доступ к список переходов, щелкнув правой кнопкой мыши кнопку на панели задач или щелкните стрелку рядом с программой, в меню «Пуск». Дополнительные сведения о списках переходов см. в разделе Taskbar части инструкции взаимодействие пользователя Windows.

JumpList Класс предоставляет управляемую оболочку для функции списка переходов в Windows 7 задач и управляет данными, переданными Windows оболочки. Функциональные возможности, предоставляемые JumpList класс недоступен в версиях Windows более ранней, чем Windows 7. Приложения, использующие JumpList класса будет выполняться в других версиях Windows, но не будут доступны в список переходов. Дополнительные сведения об оболочке Windows и собственных API списка переходов см. в разделе Taskbar Extensions.

На следующем рисунке показан переход список для проигрывателя Windows Media, с элементами в задачи и частые категории.

Список переходов проигрывателя Windows Media

Список переходов проигрывателя Windows Media

Список переходов может содержать два типа элементов, JumpTask и JumpPath. A JumpTask ссылка на программы и JumpPath является ссылкой на файл. Можно визуально отделить элементы в список переходов, создав JumpTask не имеющего Title и CustomCategory указанного. Это пустой JumpTask будет отображаться в виде горизонтальной линии в списке переходов.

System_CAPS_noteПримечание

Если тип файла, указанный в JumpPath не зарегистрирован в приложении, файл не появится в списке переходов. Например, при добавлении JumpPath указывающий на файл .txt, ваше приложение должно быть зарегистрировано для обработки файлов с расширением .txt. Дополнительные сведения см. в разделе Introduction to File Associations.

Элементы помещаются в категории в JumpList. По умолчанию JumpItem отображается в задачи категории. Кроме того, можно указать CustomCategory для JumpItem.

Можно указать ли стандартный последние и частые категории отображаются в JumpList установив ShowRecentCategory и ShowFrequentCategory Свойства. Содержимое этих категорий управляются Windows оболочки. Так как эти категории может содержать практически те же данные, можно отобразить тот или другой в вашей JumpList, но не оба.Windows автоматически управляет последними элементами, если они открываются посредством общего файлового диалогового или используется для открытия приложения с помощью сопоставления типов файлов. Если элемент осуществляется через список переходов, можно уведомить Windows оболочки, чтобы добавить элемент в последние категории, вызвав AddToRecentCategory метод.

Не может напрямую обращаться к списку переходов в оболочке или прочесть его содержимое в JumpList класса. Вместо этого JumpList класс предоставляет представление список переходов, можно работать с и затем применить Windows оболочки. Как правило, создается JumpList и задайте его один раз, при первом запуске приложения. Тем не менее, можно изменить или заменить JumpList во время выполнения.

Если значение JumpList Свойства, необходимо применить JumpList в оболочку Windows перед ее содержимое отображается в списке переходов панели задач. Это выполняется автоматически при JumpList впервые присоединяется к приложению в XAML или в вызове SetJumpList метода. Если изменить содержимое JumpList во время выполнения, необходимо вызвать метод Apply метод, чтобы применить содержимое в оболочку Windows.

A JumpList автоматически не присоединен к Application объекта. Можно присоединить JumpList к Application объекту в XAML с помощью синтаксиса вложенного свойства. JumpList Реализует ISupportInitialize интерфейс для поддержки объявление XAML JumpList. Если JumpList объявлена в XAML и вложенные в текущий Application, он автоматически применяется к Windows оболочки при JumpList инициализируется. 

Можно присоединить JumpList для Application объекта в коде путем вызова статического SetJumpList метод. Это также касается JumpList для Windows оболочки.

Чтобы изменить JumpList во время выполнения вызова GetJumpList метод, чтобы получить JumpList подключенных к Application. После изменения свойства JumpList, необходимо вызвать метод Apply метод, чтобы применить изменения к оболочке Windows.

System_CAPS_noteПримечание

Обычно создается один JumpList присоединенный к Application и применяются к Windows оболочки. Тем не менее, можно создать несколько JumpList объектов. Только один JumpList одновременно могут применяться к Windows оболочки и только один JumpList одновременно может быть связан с Application. Платформа .NET Framework не требуют эти же JumpList.

System_CAPS_noteПримечание

Этот класс содержит требование к связыванию на уровне классов, относящееся ко всем элементам. A SecurityException возникает, если непосредственный вызывающий объект не имеет разрешения полного доверия. Дополнительные сведения о требованиях безопасности см. в разделе Link Demands и требования к наследованию.

Пример приложения с помощью списка переходов. Приложение имеет три кнопки, позволяющие добавить задачу в текущий список переходов, очистить содержимое списка переходов и применить новый список переходов к приложению.

В следующем примере показан способ объявления JumpList в разметке. JumpList Содержит два JumpTask ссылки и один JumpPath. Применение JumpPath к оболочке завершится ошибкой, если приложение не зарегистрировано для обработки расширения имени файла .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>

В следующем примере показано страница с выделенным кодом для App.xaml. Этот код обрабатывает JumpItemsRejected и 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());
        }
    }
}

Следующий пример показывает разметку, используемую для создания пользовательского интерфейса приложения.

<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. Этот код демонстрирует изменение, очистить, и создать JumpList в процедурном коде. Для нового списка переходов, статический SetJumpList вызывается метод, чтобы связать JumpList с текущего приложения и примените JumpList в оболочку 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);
        }
    }
}

UIPermission

for full access to modify the Windows shell. Security action: F:System.Security.Permissions.SecurityAction.LinkDemand. Associated enumeration: F:System.Security.Permissions.UIPermissionWindow.AllWindows

.NET Framework
Доступно с 4.0

Любые открытые статические элементы ( Предоставлен общий доступ в Visual Basic) этого типа являются потокобезопасными. Потокобезопасность элементов экземпляров не гарантируется.

Вернуться в начало
Показ: