JumpList Klass

Definition

Representerar en lista över objekt och aktiviteter som visas som en meny på en Windows 7 knapp i aktivitetsfältet.

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
Arv
JumpList
Attribut
Implementeringar

Exempel

I följande exempel visas ett program med en hopplista. Programmet har tre knappar som gör att du kan lägga till en uppgift i den aktuella hopplistan, rensa innehållet i hopplistan och tillämpa en ny hopplista på programmet.

I följande exempel visas hur du deklarerar en JumpList i markering. Innehåller JumpList två JumpTask länkar och en JumpPath. JumpPath Det går inte att tillämpa på gränssnittet om programmet inte är registrerat för att hantera filnamnstillägget .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>

I följande exempel visas sidan bakom koden för App.xaml. Den här koden hanterar JumpItemsRejected händelserna och 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());
        }
    }
}

I följande exempel visas den markering som används för att skapa programmets användargränssnitt.

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

I följande exempel visas sidan bakom koden för MainWindow.xaml. Den här koden visar hur du ändrar, rensar och skapar en JumpList i procedurkod. För den nya snabblistan anropas metoden static SetJumpList för att associera JumpList med det aktuella programmet och tillämpa JumpList på Windows-gränssnittet.

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);
        }
    }
}

Kommentarer

I Windows 7 aktivitetsfältet finns förbättrade funktioner för att starta program direkt från aktivitetsfältet med hjälp av snabblistor. Snabblistor används också på startmenyn Windows 7. Du kommer åt en snabblista genom att högerklicka på en knapp i aktivitetsfältet eller genom att klicka på pilen bredvid ett program på Start-menyn. Mer information om snabblistor finns i avsnittet Taskbar i riktlinjerna för interaktion med Windows användarupplevelse.

Klassen JumpList innehåller en hanterad omslutning för jump list-funktionen i Windows 7 aktivitetsfältet och hanterar data som skickas till Windows-gränssnittet. Funktionerna som exponeras av klassen JumpList är inte tillgängliga i versioner av Windows tidigare än Windows 7. Program som använder klassen JumpList körs i andra versioner av Windows, men hopplistan är inte tillgänglig. Mer information om api:erna för Windows shell och interna Jump List finns i Taskbar Extensions.

Följande bild visar hopplistan för Windows Media Player, med objekt i kategorierna Tasks och Frequent.

Windows Media Player Jump List Windows Media Player Jump List

Konfigurera en hopplista

Snabblistor kan innehålla två typer av objekt, en JumpTask och en JumpPath. A JumpTask är en länk till ett program och en JumpPath är en länk till en fil. Du kan visuellt separera objekt i en snabblista genom att skapa en JumpTask som inte har en Title och CustomCategory angiven. Det här tomma JumpTask objektet visas som en vågrät linje i hopplistan.

Note

Om den typ av fil som anges i en JumpPath inte är registrerad i ditt program visas inte filen i jump-listan. Om du till exempel lägger till en JumpPath som pekar på en .txt fil måste ditt program vara registrerat för att hantera .txt filer. Mer information finns i Introduktion till filassociationer.

Jump-objekt placeras i kategorier i JumpList. Som standard visas en JumpItem i kategorin Uppgifter . Du kan också ange en CustomCategory för JumpItem.

Du kan ange om standardkategorierna Senaste och Frekvent visas i JumpList genom att ange ShowRecentCategory egenskaperna och ShowFrequentCategory . Innehållet i dessa kategorier hanteras av Windows-gränssnittet. Eftersom dessa kategorier kan innehålla mycket av samma data visar du vanligtvis den ena eller den andra i , JumpListmen inte båda. Windows hanterar automatiskt de senaste objekten om de öppnas via en gemensam fildialogruta eller används för att öppna ett program via filtypsassociation. När ett objekt nås via snabblistan kan du meddela Windows-gränssnittet att lägga till objektet i kategorin Recent genom att anropa metoden AddToRecentCategory.

Använda en hopplista i Windows Shell

Du kan inte komma åt gränssnittets snabblista direkt eller läsa dess innehåll i JumpList klassen. I stället ger klassen JumpList en representation av en hopplista som du kan arbeta med och gäller sedan för Windows-gränssnittet. Du skapar vanligtvis en JumpList och anger den en gång när programmet körs första gången. Du kan dock ändra eller ersätta JumpList vid körning.

När du har angett egenskaperna JumpList måste du tillämpa JumpList på Windows-gränssnittet innan innehållet visas i snabblistan i aktivitetsfältet. Detta görs automatiskt när den JumpList första kopplas till ett program, antingen i XAML eller i ett anrop till SetJumpList metoden. Om du ändrar innehållet i JumpList vid körning måste du anropa metoden Apply för att tillämpa dess aktuella innehåll på Windows-gränssnittet.

Ange en hopplista i XAML

A JumpList kopplas inte automatiskt till ett Application objekt. Du kopplar ett JumpList till ett Application objekt i XAML med hjälp av den anslutna egenskapssyntaxen. Klassen JumpList implementerar ISupportInitialize gränssnittet för att stödja XAML-deklaration av en JumpList. Om JumpList deklareras i XAML och kopplas till den aktuella Application tillämpas den automatiskt på Windows-gränssnittet när JumpList initieras.

Ställa in och ändra en hopplista i kod

Du kopplar ett JumpList till ett Application objekt i kod genom att anropa den statiska SetJumpList metoden. Detta gäller även JumpList för Windows-gränssnittet.

Om du vill ändra en JumpList vid körning anropar GetJumpList du metoden för att hämta den JumpList som för närvarande är kopplad till en Application. När du har ändrat egenskaperna för JumpList måste du anropa metoden Apply för att tillämpa ändringarna på Windows-gränssnittet.

Note

Du skapar vanligtvis en JumpList som är kopplad till Application och tillämpas på Windows-gränssnittet. Du kan dock skapa flera JumpList objekt. Endast en JumpList i taget kan tillämpas på Windows-gränssnittet, och endast en JumpList i taget kan associeras med en Application. .NET Framework kräver inte att dessa är samma JumpList.

Note

Den här klassen innehåller ett länkbehov på klassnivå som gäller för alla medlemmar. En SecurityException utlöses när den omedelbara anroparen inte har fullständig förtroendebehörighet. Mer information om säkerhetskrav finns i Länka krav och arvskrav.

Konstruktorer

Name Description
JumpList()

Initierar en ny instans av JumpList klassen.

JumpList(IEnumerable<JumpItem>, Boolean, Boolean)

Initierar en ny instans av JumpList klassen med de angivna parametrarna.

Egenskaper

Name Description
JumpItems

Hämtar samlingen med JumpItem objekt som visas i hopplistan.

ShowFrequentCategory

Hämtar eller anger ett värde som anger om objekt som används ofta visas i hopplistan.

ShowRecentCategory

Hämtar eller anger ett värde som anger om nyligen använda objekt visas i hopplistan.

Metoder

Name Description
AddToRecentCategory(JumpPath)

Lägger till den angivna hoppsökvägen till kategorin Senaste i jump-listan.

AddToRecentCategory(JumpTask)

Lägger till den angivna snabbaktiviteten i kategorin Senaste i jump-listan.

AddToRecentCategory(String)

Lägger till den angivna objektsökvägen till kategorin Senaste i jump-listan.

Apply()

Skickar JumpList till Windows-gränssnittet i dess aktuella tillstånd.

BeginInit()

Signalerar början av JumpList initieringen.

EndInit()

Signalerar slutet av JumpList initieringen.

Equals(Object)

Avgör om det angivna objektet är lika med det aktuella objektet.

(Ärvd från Object)
GetHashCode()

Fungerar som standard-hash-funktion.

(Ärvd från Object)
GetJumpList(Application)

Returnerar objektet som JumpList är associerat med ett program.

GetType()

Hämtar den aktuella instansen Type .

(Ärvd från Object)
MemberwiseClone()

Skapar en ytlig kopia av den aktuella Object.

(Ärvd från Object)
SetJumpList(Application, JumpList)

Anger objektet som JumpList är associerat med ett program.

ToString()

Returnerar en sträng som representerar det aktuella objektet.

(Ärvd från Object)

Händelser

Name Description
JumpItemsRejected

Inträffar när hoppobjekt inte har lagts till i hopplistan av Windows-gränssnittet.

JumpItemsRemovedByUser

Inträffar när hoppobjekt som tidigare fanns i jump-listan tas bort från listan av användaren.

Gäller för