JumpList Třída

Definice

Představuje seznam položek a úkolů zobrazených jako nabídka na tlačítku na hlavním panelu systému 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
Dědičnost
JumpList
Atributy
Implementuje

Příklady

Následující příklad ukazuje aplikaci se seznamem odkazů. Aplikace má tři tlačítka, která umožňují přidat úkol do aktuálního seznamu odkazů, vymazat obsah seznamu odkazů a použít nový seznam odkazů na aplikaci.

Následující příklad ukazuje, jak deklarovat JumpList v kódu. Obsahuje JumpList dva JumpTask odkazy a jeden JumpPath. Použití JumpPath v prostředí se nezdaří, pokud aplikace není zaregistrovaná pro zpracování .txt přípony názvu souboru.

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

Následující příklad ukazuje stránku kódu na pozadí pro App.xaml. Tento kód zpracovává JumpItemsRejected události a 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());
        }
    }
}

Následující příklad ukazuje kód použitý k vytvoření uživatelského rozhraní aplikace.

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

Následující příklad ukazuje stránku kódu na pozadí pro MainWindow.xaml. Tento kód ukazuje, jak upravit, vymazat a vytvořit JumpList kód v procedurálním kódu. Pro nový seznam odkazů je volána statická SetJumpList metoda, která přidruží JumpList k aktuální aplikaci a použije JumpList v prostředí systému 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);
        }
    }
}

Poznámky

Hlavní panel Windows 7 nabízí vylepšené funkce pro spouštění programů přímo z tlačítka hlavního panelu pomocí seznamů odkazů. Seznamy odkazů se používají také v nabídce Start ve Windows 7. K seznamu odkazů se dostanete tak, že kliknete pravým tlačítkem na tlačítko na hlavním panelu nebo kliknete na šipku vedle programu v nabídce Start. Další informace o seznamech odkazů najdete v části Hlavní panel v pokynech k interakci s uživatelským prostředím ve Windows.

Třída JumpList poskytuje spravovanou obálku pro funkci seznam odkazů na hlavním panelu Windows 7 a spravuje data předávaná do prostředí systému Windows. Funkce zpřístupněné JumpList třídou nejsou k dispozici ve verzích systému Windows starších než Windows 7. Aplikace, které používají JumpList třídu , poběží v jiných verzích Windows, ale seznam odkazů nebude k dispozici. Další informace o prostředí windows a nativních rozhraních API seznamu odkazů najdete v tématu Rozšíření hlavního panelu.

Následující obrázek znázorňuje seznam odkazů pro Přehrávač médií Windows s položkami v kategoriích Úkoly a Časté.

Přehrávač médií Windows seznam odkazů
seznam odkazů Přehrávač médií Windows

Konfigurace seznamu odkazů

Seznamy odkazů mohou obsahovat dva typy položek: JumpTask a JumpPath. A JumpTask je odkaz na program a je JumpPath odkaz na soubor. Položky v seznamu odkazů můžete vizuálně oddělit vytvořením JumpTask , který nemá zadaný parametr Title a CustomCategory . Toto prázdné JumpTask se v seznamu odkazů zobrazí jako vodorovná čára.

Poznámka

Pokud typ souboru zadaný v objektu JumpPath není zaregistrován ve vaší aplikaci, soubor se nezobrazí v seznamu odkazů. Pokud například přidáte objekt, který odkazuje JumpPath na soubor .txt, musí být aplikace zaregistrovaná pro zpracování .txt souborů. Další informace najdete v tématu Úvod do přidružení souborů.

Přeskočení položek se umisťuje do kategorií v .JumpList Ve výchozím nastavení JumpItem je v kategorii Úkoly zobrazena hodnota . Alternativně můžete zadat pro CustomCategoryJumpItem.

Nastavením vlastností a ShowFrequentCategory můžete určit, jestli se v objektu JumpListShowRecentCategory zobrazí standardní kategorie Poslední a Časté. Obsah těchto kategorií je spravován prostředím systému Windows. Vzhledem k tomu, že tyto kategorie můžou obsahovat většinu stejných dat, obvykle se v JumpListsouboru zobrazí jedno nebo druhé, ale ne obě. Systém Windows automaticky spravuje poslední položky, pokud jsou otevřeny prostřednictvím běžného dialogového okna souborů nebo použity k otevření aplikace prostřednictvím přidružení typu souboru. Při přístupu k položce prostřednictvím seznamu odkazů můžete upozornit prostředí systému Windows, aby přidalo položku do kategorie Poslední voláním AddToRecentCategory metody .

Použití seznamu odkazů v prostředí systému Windows

Nelze získat přístup k seznamu odkazů prostředí přímo nebo číst jeho obsah do JumpList třídy . Místo toho JumpList třída poskytuje reprezentaci seznamu odkazů, se kterým můžete pracovat, a poté použít v prostředí systému Windows. Obvykle vytvoříte JumpList a nastavíte ho jednou při prvním spuštění aplikace. Můžete však změnit nebo nahradit za JumpList běhu.

Pokud jste nastavili JumpList vlastnosti, musíte použít JumpList na prostředí Windows dříve, než se jeho obsah zobrazí v seznamu odkazů na hlavním panelu. To se provádí automaticky při JumpList prvním připojení k aplikaci, a to buď v XAML, nebo ve volání SetJumpList metody. Pokud změníte obsah objektu JumpList za běhu, je nutné volat metodu Apply k použití jejího aktuálního obsahu v prostředí systému Windows.

Nastavení seznamu odkazů v XAML

Objekt JumpList není automaticky připojen k objektu Application . K objektu JumpListApplication v XAML připojíte pomocí syntaxe připojené vlastnosti. Třída JumpList implementuje ISupportInitialize rozhraní pro podporu deklarace XAML objektu JumpList. JumpList Pokud je deklarován v XAML a připojen k aktuální Application, automaticky se použije v prostředí systému Windows při JumpList inicializaci .

Nastavení a úprava seznamu odkazů v kódu

K objektu JumpListApplication v kódu připojíte voláním statické SetJumpList metody. To platí také pro JumpList prostředí Systému Windows.

Chcete-li upravit JumpList za běhu, voláním GetJumpList metody získáte objekt JumpList , který je aktuálně připojen k objektu Application. Po úpravě vlastností JumpListnástroje je nutné volat metodu Apply , aby se změny použily v prostředí systému Windows.

Poznámka

Obvykle vytvoříte ten JumpList , který je připojen k Application a použit v prostředí systému Windows. Můžete však vytvořit více JumpList objektů. V prostředí systému Windows lze použít pouze jednu JumpList po druhé a pouze jednu po druhé JumpList lze přidružit k objektu Application. Rozhraní .NET Framework nevyžaduje, aby se jednalo o stejné JumpList.

Poznámka

Tato třída obsahuje požadavek na propojení na úrovni třídy, který se vztahuje na všechny členy. Vyvolá SecurityException se, když bezprostředně volající nemá oprávnění s úplným vztahem důvěryhodnosti. Další informace o požadavcích na zabezpečení najdete v tématu Propojení požadavků a požadavků dědičnosti.

Konstruktory

JumpList()

Inicializuje novou instanci JumpList třídy .

JumpList(IEnumerable<JumpItem>, Boolean, Boolean)

Inicializuje novou instanci JumpList třídy se zadanými parametry.

Vlastnosti

JumpItems

Získá kolekci JumpItem objektů, které jsou zobrazeny v seznamu odkazů.

ShowFrequentCategory

Získá nebo nastaví hodnotu, která označuje, zda jsou často používané položky zobrazeny v seznamu odkazů.

ShowRecentCategory

Získá nebo nastaví hodnotu, která označuje, zda jsou naposledy použité položky zobrazeny v seznamu odkazů.

Metody

AddToRecentCategory(JumpPath)

Přidá zadanou cestu skoku do kategorie Poslední v seznamu odkazů.

AddToRecentCategory(JumpTask)

Přidá zadaný úkol přeskakování do kategorie Poslední v seznamu odkazů.

AddToRecentCategory(String)

Přidá zadanou cestu k položce do kategorie Poslední v seznamu odkazů.

Apply()

JumpList Odešle do prostředí systému Windows v aktuálním stavu.

BeginInit()

Signalizuje začátek JumpList inicializace.

EndInit()

Signalizuje konec JumpList inicializace.

Equals(Object)

Určí, zda se zadaný objekt rovná aktuálnímu objektu.

(Zděděno od Object)
GetHashCode()

Slouží jako výchozí hashovací funkce.

(Zděděno od Object)
GetJumpList(Application)

JumpList Vrátí objekt přidružený k aplikaci.

GetType()

Type Získá z aktuální instance.

(Zděděno od Object)
MemberwiseClone()

Vytvoří mělkou kopii aktuálního Objectsouboru .

(Zděděno od Object)
SetJumpList(Application, JumpList)

JumpList Nastaví objekt přidružený k aplikaci.

ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)

Událost

JumpItemsRejected

Vyvolá se při přeskakování položek nejsou úspěšně přidány do seznamu odkazů prostředím systému Windows.

JumpItemsRemovedByUser

Vyvolá se při přeskakování položek dříve v seznamu odkazů jsou odebrány ze seznamu uživatelem.

Platí pro