Sdílet prostřednictvím


JumpList Třída

Definice

Představuje seznam položek a úkolů zobrazených jako nabídka na tlačítku hlavního panelu 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 kód v kódu. Obsahuje JumpList dvě JumpTask propojení a jednu JumpPath. Použití JumpPath na prostředí selže, pokud aplikace není zaregistrovaná pro zpracování přípony .txt 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 značky 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 procedurální JumpList kód. 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 pro 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í 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 Windows Media Player s položkami v kategoriích Úkoly a Časté .

Windows Media Player Jump List
Seznam odkazů v programu Windows Media Player

Konfigurace seznamu odkazů

Seznamy odkazů můžou 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 položky, která nemá Title zadaný parametr a CustomCategory . Toto prázdné JumpTask se zobrazí jako vodorovná čára v seznamu odkazů.

Poznámka

Pokud typ souboru zadaný v souboru není zaregistrovaný ve JumpPath vaší aplikaci, soubor se v seznamu odkazů nezobrazí. Pokud například přidáte JumpPath odkaz, který odkazuje 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řeskakování položek se umisťuje do kategorií v JumpListsouboru . Ve výchozím nastavení JumpItem je v kategorii Úkoly zobrazena hodnota . Alternativně můžete zadat parametr CustomCategory pro JumpItem.

Nastavením ShowRecentCategory vlastností a ShowFrequentCategory můžete určit, zda se v objektu JumpList zobrazí standardní kategorie Poslední a Časté. Obsah těchto kategorií je spravován prostředím Windows. Vzhledem k tomu, že tyto kategorie můžou obsahovat velkou část 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 jsou 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 prostředí Windows upozornit, aby přidal položku do kategorie Poslední voláním AddToRecentCategory metody.

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

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

Když nastavíte JumpList vlastnosti, musíte použít JumpList v prostředí Windows před zobrazením jeho obsahu 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 upravíte obsah objektu JumpList za běhu, je nutné volat metodu Apply , aby se její aktuální obsah použil v prostředí systému Windows.

Nastavení seznamu odkazů v XAML

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

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

Připojíte JumpList objekt k objektu Application v kódu voláním statické SetJumpList metody. To platí i pro JumpList prostředí Windows.

Chcete-li upravit JumpList objekt za běhu, zavoláte metodu GetJumpListJumpList k získání 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 takový JumpList , který je připojený k Application a použije se 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 jeden JumpList po druhém a pouze jeden po druhém JumpList může být přidružen k Application. Rozhraní .NET Framework nevyžaduje, aby byly stejné JumpList.

Poznámka

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

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 k přechodu do kategorie Poslední v seznamu odkazů.

AddToRecentCategory(JumpTask)

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

AddToRecentCategory(String)

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

Apply()

Odešle příkaz JumpList do prostředí 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()

Získá aktuální Type instanci.

(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

Nastane, když se v prostředí Windows úspěšně nepřidají do seznamu odkazů skokové položky.

JumpItemsRemovedByUser

Nastane, když uživatel ze seznamu odkazů odebere přeskakované položky, které byly dříve v seznamu odkazů.

Platí pro