JumpList Klasa

Definicja

Reprezentuje listę elementów i zadań wyświetlanych jako menu na przycisku paska zadań systemu 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
Dziedziczenie
JumpList
Atrybuty
Implementuje

Przykłady

W poniższym przykładzie pokazano aplikację z listą szybkiego dostępu. Aplikacja ma trzy przyciski, które umożliwiają dodanie zadania do bieżącej listy szybkiego dostępu, wyczyszczenie zawartości listy szybkiego dostępu i zastosowanie nowej listy szybkiego dostępu do aplikacji.

W poniższym przykładzie pokazano, jak zadeklarować adiustację JumpList w adiustacji. Zawiera JumpList dwa JumpTask łącza i jeden JumpPath. Zastosowanie elementu JumpPath do powłoki zakończy się niepowodzeniem, jeśli aplikacja nie jest zarejestrowana w celu obsługi rozszerzenia nazwy pliku .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>

W poniższym przykładzie pokazano stronę kodową dla pliku App.xaml. Ten kod obsługuje JumpItemsRejected zdarzenia i 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());
        }
    }
}

W poniższym przykładzie pokazano znaczniki użyte do utworzenia interfejsu użytkownika aplikacji.

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

W poniższym przykładzie pokazano stronę kodową dla pliku MainWindow.xaml. Ten kod pokazuje, jak zmodyfikować, wyczyścić i utworzyć element JumpList w kodzie proceduralnym. W przypadku nowej listy szybkiego dostępu wywoływana jest metoda statyczna SetJumpList , aby skojarzyć JumpList klasę z bieżącą aplikacją i zastosować JumpList element do powłoki systemu 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);
        }
    }
}

Uwagi

Pasek zadań systemu Windows 7 udostępnia rozszerzone funkcje uruchamiania programów bezpośrednio z poziomu przycisku paska zadań przy użyciu list szybkiego dostępu. Listy szybkiego dostępu są również używane w menu Start systemu Windows 7. Dostęp do listy szybkiego dostępu można uzyskać, klikając prawym przyciskiem myszy przycisk paska zadań lub klikając strzałkę obok programu w menu Start. Aby uzyskać więcej informacji na temat list szybkiego dostępu, zobacz sekcję Pasek zadań w wytycznych dotyczących interakcji ze środowiskiem użytkownika systemu Windows.

Klasa JumpList udostępnia zarządzaną otokę dla funkcji listy szybkiego dostępu na pasku zadań systemu Windows 7 i zarządza danymi przekazywanymi do powłoki systemu Windows. Funkcje udostępniane przez klasę JumpList nie są dostępne w wersjach systemu Windows starszych niż Windows 7. Aplikacje korzystające z JumpList klasy będą działać w innych wersjach systemu Windows, ale lista szybkiego dostępu nie będzie dostępna. Aby uzyskać więcej informacji na temat powłoki systemu Windows i natywnych interfejsów API listy szybkiego dostępu, zobacz Rozszerzenia paska zadań.

Poniższa ilustracja przedstawia listę szybkiego dostępu dla Odtwarzacz multimedialny Windows z elementami w kategoriach Zadania i Częste.

lista szybkiego dostępu Odtwarzacz multimedialny Windows
lista szybkiego dostępu Odtwarzacz multimedialny Windows

Konfigurowanie listy szybkiego dostępu

Listy szybkiego dostępu mogą zawierać dwa typy elementów, a JumpTask i JumpPath. Element JumpTask to link do programu, a element JumpPath to link do pliku. Możesz wizualnie oddzielić elementy na liście szybkiego dostępu, tworząc obiekt, który JumpTask nie ma określonego elementu Title i CustomCategory . Ta pusta JumpTask będzie wyświetlana jako linia pozioma na liście przeskoku.

Uwaga

Jeśli typ pliku określonego w obiekcie JumpPath nie jest zarejestrowany w aplikacji, plik nie będzie wyświetlany na liście szybkiego dostępu. Jeśli na przykład dodasz element JumpPath wskazujący plik .txt, aplikacja musi być zarejestrowana w celu obsługi .txt plików. Aby uzyskać więcej informacji, zobacz Wprowadzenie do skojarzeń plików.

Elementy przeskoku są umieszczane w kategoriach w obiekcie JumpList. Domyślnie element JumpItem jest wyświetlany w kategorii Zadania . Alternatywnie można określić dla CustomCategory parametru JumpItem.

Możesz określić, czy w obiekcie JumpList są wyświetlane standardowe kategorie Ostatnie i Częste, ustawiając ShowRecentCategory właściwości i ShowFrequentCategory . Zawartość tych kategorii jest zarządzana przez powłokę systemu Windows. Ponieważ te kategorie mogą zawierać wiele tych samych danych, zazwyczaj wyświetla się jeden lub drugi w JumpListobiekcie , ale nie oba te kategorie. System Windows automatycznie zarządza ostatnimi elementami, jeśli są otwierane za pośrednictwem typowego okna dialogowego pliku lub są używane do otwierania aplikacji za pośrednictwem skojarzenia typu pliku. Gdy dostęp do elementu jest uzyskiwany za pośrednictwem listy szybkiego dostępu, możesz powiadomić powłokę systemu Windows, aby dodać element do kategorii Ostatnie , wywołując metodę AddToRecentCategory .

Stosowanie listy szybkiego dostępu do powłoki systemu Windows

Nie można uzyskać dostępu do listy przeskoku powłoki bezpośrednio lub odczytać jej zawartość do JumpList klasy. JumpList Zamiast tego klasa zawiera reprezentację listy szybkiego dostępu, z którą można pracować, a następnie zastosuj do powłoki systemu Windows. Zazwyczaj tworzysz JumpList obiekt i ustawiasz go jeden raz, gdy aplikacja jest uruchamiana po raz pierwszy. Można jednak zmodyfikować lub zamienić element JumpList w czasie wykonywania.

Po ustawieniu JumpList właściwości należy zastosować JumpList element do powłoki systemu Windows, zanim jego zawartość pojawi się na pasku zadań Lista szybkiego dostępu. Odbywa się to automatycznie po JumpList pierwszym dołączeniu obiektu do aplikacji w języku XAML lub wywołaniu SetJumpList metody . Jeśli zmodyfikujesz zawartość obiektu JumpList w czasie wykonywania, musisz wywołać metodę Apply , aby zastosować jego bieżącą zawartość do powłoki systemu Windows.

Ustawianie listy szybkiego dostępu w języku XAML

Obiekt A JumpList nie jest automatycznie dołączany do Application obiektu. Obiekt jest JumpList dołączany do Application obiektu w języku XAML przy użyciu dołączonej składni właściwości. Klasa JumpList implementuje ISupportInitialize interfejs do obsługi deklaracji XAML obiektu JumpList. Jeśli element JumpList jest zadeklarowany w języku XAML i dołączony do bieżącego Applicationelementu , jest automatycznie stosowany do powłoki systemu Windows po zainicjowaniu JumpList .

Ustawianie i modyfikowanie listy szybkiego dostępu w kodzie

Obiekt jest JumpList dołączany do Application obiektu w kodzie przez wywołanie metody statycznej SetJumpList . Dotyczy to również JumpList powłoki systemu Windows.

Aby zmodyfikować JumpList obiekt w czasie wykonywania, należy wywołać metodę GetJumpList , aby pobrać JumpList element, który jest obecnie dołączony do elementu Application. Po zmodyfikowaniu właściwości JumpListprogramu należy wywołać metodę Apply , aby zastosować zmiany w powłoce systemu Windows.

Uwaga

Zazwyczaj tworzy się ten JumpList , który jest dołączony do powłoki Application systemu Windows i zastosowany do powłoki systemu Windows. Można jednak utworzyć wiele JumpList obiektów. JumpList Do powłoki systemu Windows można zastosować tylko jeden raz, a jednocześnie JumpList może być skojarzony z elementem Application. .NET Framework nie wymaga, aby były one takie sameJumpList.

Uwaga

Ta klasa zawiera żądanie łącza na poziomie klasy, które ma zastosowanie do wszystkich elementów członkowskich. Obiekt SecurityException jest zgłaszany, gdy bezpośredni obiekt wywołujący nie ma uprawnienia pełnego zaufania. Aby uzyskać więcej informacji na temat wymagań dotyczących zabezpieczeń, zobacz Link Demands and Inheritance Demands (Żądania łączenia i dziedziczenia).

Konstruktory

JumpList()

Inicjuje nowe wystąpienie klasy JumpList.

JumpList(IEnumerable<JumpItem>, Boolean, Boolean)

Inicjuje JumpList nowe wystąpienie klasy z określonymi parametrami.

Właściwości

JumpItems

Pobiera kolekcję JumpItem obiektów, które są wyświetlane na liście szybkiego dostępu.

ShowFrequentCategory

Pobiera lub ustawia wartość wskazującą, czy często używane elementy są wyświetlane na liście szybkiego dostępu.

ShowRecentCategory

Pobiera lub ustawia wartość wskazującą, czy ostatnio używane elementy są wyświetlane na liście szybkiego dostępu.

Metody

AddToRecentCategory(JumpPath)

Dodaje określoną ścieżkę skoku do kategorii Ostatnie listy szybkiego dostępu.

AddToRecentCategory(JumpTask)

Dodaje określone zadanie szybkiego dostępu do kategorii Ostatnie listy szybkiego dostępu.

AddToRecentCategory(String)

Dodaje określoną ścieżkę elementu do kategorii Ostatnie listy szybkiego dostępu.

Apply()

Wysyła element JumpList do powłoki systemu Windows w bieżącym stanie.

BeginInit()

Sygnalizuje początek inicjowania JumpList .

EndInit()

Sygnalizuje koniec inicjowania JumpList .

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetJumpList(Application)

JumpList Zwraca obiekt skojarzony z aplikacją.

GetType()

Type Pobiera wartość bieżącego wystąpienia.

(Odziedziczone po Object)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
SetJumpList(Application, JumpList)

JumpList Ustawia obiekt skojarzony z aplikacją.

ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)

Zdarzenia

JumpItemsRejected

Występuje, gdy elementy szybkiego dostępu nie zostaną pomyślnie dodane do listy szybkiego dostępu przez powłokę systemu Windows.

JumpItemsRemovedByUser

Występuje, gdy elementy przeskoku wcześniej na liście szybkiego dostępu są usuwane z listy przez użytkownika.

Dotyczy