JumpList クラス

定義

Windows 7 タスク バー ボタンにメニューとして表示される項目およびタスクの一覧を表します。Represents a list of items and tasks displayed as a menu on a Windows 7 taskbar button.

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
継承
JumpList
属性
実装

次の例は、ジャンプリストを持つアプリケーションを示しています。The following example shows an application with a Jump List. アプリケーションには、現在のジャンプリストにタスクを追加したり、ジャンプリストの内容を消去したり、アプリケーションに新しいジャンプリストを適用したりするためのボタンが3つあります。The application has three buttons that enable you to add a task to the current Jump List, clear the contents of the Jump List, and apply a new Jump List to the application.

次の例は、マークアップでを宣言する方法を示して JumpList います。The following example shows how to declare a JumpList in markup. には、 JumpList 2 つの JumpTask リンクと1つのリンクが JumpPath あります。The JumpList contains two JumpTask links and one JumpPath. JumpPathアプリケーションが .txt ファイル名拡張子を処理するように登録されていない場合、シェルへのの適用は失敗します。Applying the JumpPath to the shell will fail if the application is not registered to handle the .txt file name extension.

<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 います。The following example shows the code-behind page for App.xaml. このコードは、 JumpItemsRejected イベントとイベントを処理し JumpItemsRemovedByUser ます。This code handles the JumpItemsRejected and JumpItemsRemovedByUser events.

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

次の例は、アプリケーションのユーザーインターフェイスを作成するために使用されるマークアップを示しています。The following example shows the markup used to create the application user interface.

<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 います。The following example shows the code-behind page for MainWindow.xaml. このコードは、手続き型コードでの変更、クリア、および作成を行う方法を示して JumpList います。This code demonstrates how to modify, clear, and create a JumpList in procedural code. 新しいジャンプリストでは、静的 SetJumpList メソッドが呼び出され、を現在のアプリケーションに関連付けて、を JumpList JumpList Windows シェルに適用します。For the new Jump List, the static SetJumpList method is called to associate the JumpList with the current application and apply the JumpList to the Windows shell.

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

注釈

Windows 7Windows 7タスクバーには、ジャンプリストを使用してプログラムをタスクバーのボタンから直接起動する機能が拡張されています。The Windows 7Windows 7 taskbar provides enhanced functionality for starting programs directly from the taskbar button by using Jump Lists. ジャンプリストは、[スタート] メニューでも使用され Windows 7Windows 7 ます。Jump Lists are also used in the Windows 7Windows 7 Start menu. ジャンプリストにアクセスするには、タスクバーのボタンを右クリックするか、[スタート] メニューのプログラムの横にある矢印をクリックします。You access a Jump List by right-clicking a taskbar button or by clicking the arrow next to a program in the Start menu. ジャンプリストの詳細については、「Windows ユーザーエクスペリエンスの相互作用ガイドライン」の「 タスクバー 」セクションを参照してください。For more information about Jump Lists, see the Taskbar section of the Windows User Experience Interaction Guidelines.

クラスは、 JumpList タスクバーのジャンプリスト機能のマネージラッパーを提供 Windows 7Windows 7 し、シェルに渡されるデータを管理し WindowsWindows ます。The JumpList class provides a managed wrapper for the Jump List functionality in the Windows 7Windows 7 taskbar and manages the data passed to the WindowsWindows shell. クラスによって公開されている機能 JumpList は、 WindowsWindows よりも前のバージョンのでは使用できません Windows 7Windows 7The functionality exposed by the JumpList class is not available in versions of WindowsWindows earlier than Windows 7Windows 7. クラスを使用するアプリケーション JumpList は、の他のバージョンで実行され WindowsWindows ますが、ジャンプリストは使用できません。Applications that use the JumpList class will run in other versions of WindowsWindows, but the Jump List will not be available. Windows シェルとネイティブジャンプリスト Api の詳細については、「 タスクバーの拡張機能」を参照してください。For more information about the Windows shell and native Jump List APIs, see Taskbar Extensions.

次の図は、Windows Media Player のジャンプリストを示しています。これらの項目は、 タスク頻繁 に使用されるカテゴリに含まれています。The following illustration shows the Jump List for Windows Media Player, with items in the Tasks and Frequent categories.

Windows メディア プレーヤーのジャンプ リストWindows Media Player Jump List
Windows メディア プレーヤーのジャンプ リストWindows Media Player Jump List

ジャンプリストの構成Configuring a Jump List

ジャンプリストには、との2種類の項目を含めることができ JumpTask JumpPath ます。Jump Lists can contain two types of items, a JumpTask and a JumpPath. JumpTask プログラムへのリンクであり、は JumpPath ファイルへのリンクです。A JumpTask is a link to a program and a JumpPath is a link to a file. とが指定されていないを作成することにより、ジャンプリスト内の項目を視覚的に区別でき JumpTask Title CustomCategory ます。You can visually separate items in a Jump List by creating a JumpTask that does not have a Title and CustomCategory specified. この空の JumpTask は、ジャンプリストに水平線として表示されます。This empty JumpTask will be displayed as a horizontal line in the Jump List.

注意

で指定されたファイルの型 JumpPath がアプリケーションに登録されていない場合、ジャンプリストにファイルは表示されません。If the type of the file specified in a JumpPath is not registered with your application, the file will not appear in the Jump List. たとえば、.txt ファイルをポイントするを追加する場合、 JumpPath .txt ファイルを処理するためにアプリケーションを登録する必要があります。For example, if you add a JumpPath that points to a .txt file, your application must be registered to handle .txt files. 詳細については、「 ファイルの関連付けの概要」を参照してください。For more information, see Introduction to File Associations.

ジャンプ項目は、内のカテゴリに配置され JumpList ます。Jump items are placed into categories in the JumpList. 既定では、は [ JumpItem タスク ] カテゴリに表示されます。By default, a JumpItem is displayed in the Tasks category. または、のを指定することもでき CustomCategory JumpItem ます。Alternatively, you can specify a CustomCategory for the JumpItem.

プロパティとプロパティを設定することによって、標準の 最近 のカテゴリと 頻繁 に使用するカテゴリをに表示するかどうかを指定でき JumpList ShowRecentCategory ShowFrequentCategory ます。You can specify whether the standard Recent and Frequent categories are displayed in the JumpList by setting the ShowRecentCategory and ShowFrequentCategory properties. これらのカテゴリのコンテンツは、シェルによって管理され WindowsWindows ます。The contents of these categories are managed by the WindowsWindows shell. これらのカテゴリには同じデータが多く含まれている場合があるため、通常は一方を表示し JumpList ますが、両方は表示しません。Because these categories might contain much of the same data, you typically display one or the other in your JumpList, but not both. WindowsWindows [共通ファイル] ダイアログボックスを使用して開いたり、ファイルの種類の関連付けによってアプリケーションを開いたりする場合に、[最近使った項目] を自動的に管理します。automatically manages recent items if they are opened through a common file dialog box or used to open an application through file type association. ジャンプリストを使用して項目にアクセスするときに、 WindowsWindows メソッドを呼び出すことによって、 最近 のカテゴリに項目を追加するようシェルに通知でき AddToRecentCategory ます。When an item is accessed through the Jump List, you can notify the WindowsWindows shell to add the item to the Recent category by calling the AddToRecentCategory method.

Windows シェルへのジャンプリストの適用Applying a Jump List to the Windows Shell

シェルのジャンプリストに直接アクセスしたり、その内容をクラスに読み込んだりすることはできません JumpListYou cannot access the shell's Jump List directly or read its contents into the JumpList class. 代わりに、クラスは、 JumpList 操作可能なジャンプリストの表現を提供し、シェルに適用し WindowsWindows ます。Instead, the JumpList class provides a representation of a Jump List that you can work with, and then apply to the WindowsWindows shell. 通常は、 JumpList アプリケーションを最初に実行するときに、を作成して設定します。You typically create a JumpList and set it one time when the application is first run. ただし、実行時にを変更または置き換えることができ JumpList ます。However, you can modify or replace the JumpList at run time.

プロパティを設定したら、 JumpList JumpList タスクバーのジャンプリストにコンテンツを表示する前に、を Windows シェルに適用する必要があります。When you have set the JumpList properties, you must apply the JumpList to the Windows shell before its contents appear in the taskbar Jump List. これは、が最初にアプリケーションにアタッチされるときに、 JumpList XAML またはメソッドの呼び出しで自動的に行われ SetJumpList ます。This is done automatically when the JumpList is first attached to an application, either in XAML or in a call to the SetJumpList method. 実行時にの内容を変更する場合は、メソッドを呼び出して、 JumpList 現在の Apply 内容を Windows シェルに適用する必要があります。If you modify the contents of the JumpList at run time, you must call the Apply method to apply its current contents to the Windows shell.

XAML でのジャンプリストの設定Setting a Jump List in XAML

は、 JumpList オブジェクトに自動的にアタッチされません ApplicationA JumpList is not automatically attached to an Application object. を XAML のオブジェクトにアタッチするには、 JumpList Application 添付プロパティの構文を使用します。You attach a JumpList to an Application object in XAML by using the attached property syntax. JumpListクラスは ISupportInitialize 、の XAML 宣言をサポートするインターフェイスを実装し JumpList ます。The JumpList class implements the ISupportInitialize interface to support XAML declaration of a JumpList. が XAML で宣言され、現在のにアタッチされている場合、が JumpList Application 初期化されると、自動的にシェルに適用され WindowsWindows JumpList ます。If the JumpList is declared in XAML and attached to the current Application, it is automatically applied to the WindowsWindows shell when the JumpList is initialized.

コードでのジャンプリストの設定と変更Setting and Modifying a Jump List in Code

JumpList コード内のオブジェクトにアタッチするには、 Application 静的 SetJumpList メソッドを呼び出します。You attach a JumpList to an Application object in code by calling the static SetJumpList method. これにより、もシェルに適用され JumpList WindowsWindows ます。This also applies the JumpList to the WindowsWindows shell.

実行時にを変更するには、メソッドを呼び出して、 JumpList GetJumpList JumpList 現在にアタッチされているを取得し Application ます。To modify a JumpList at run time, you call the GetJumpList method to get the JumpList that is currently attached to an Application. のプロパティを変更した後 JumpList 、メソッドを呼び出して、 Apply 変更を Windows シェルに適用する必要があります。After you have modified the properties of the JumpList, you must call the Apply method to apply the changes to the Windows shell.

注意

通常は JumpList 、にアタッチされ、シェルに適用されるものを作成し Application WindowsWindows ます。You typically create one JumpList that is attached to the Application and applied to the WindowsWindows shell. ただし、複数のオブジェクトを作成することはでき JumpList ます。However, you can create multiple JumpList objects. シェルに適用できるのは一度に1つだけ JumpList WindowsWindows です。また、一度に1つだけをに JumpList 関連付けることができ Application ます。Only one JumpList at a time can be applied to the WindowsWindows shell, and only one JumpList at a time can be associated with an Application. .NET Framework では、これらが同じである必要はありません JumpListThe .NET Framework does not require that these be the same JumpList.

注意

このクラスには、すべてのメンバーに適用されるクラスレベルのリンク確認要求が含まれています。This class contains a link demand at the class level that applies to all members. は、 SecurityException 直前の呼び出し元に完全信頼のアクセス許可がない場合にスローされます。A SecurityException is thrown when the immediate caller does not have full-trust permission. セキュリティ要求の詳細については、「 リンク 確認要求と 継承の要求」を参照してください。For more information about security demands, see Link Demands and Inheritance Demands.

コンストラクター

JumpList()

JumpList クラスの新しいインスタンスを初期化します。Initializes a new instance of the JumpList class.

JumpList(IEnumerable<JumpItem>, Boolean, Boolean)

指定したパラメーターを使用して、JumpList クラスの新しいインスタンスを初期化します。Initializes a new instance of the JumpList class with the specified parameters.

プロパティ

JumpItems

ジャンプ リスト内に表示される JumpItem オブジェクトのコレクションを取得します。Gets the collection of JumpItem objects that are displayed in the Jump List.

ShowFrequentCategory

頻繁に使用される項目をジャンプ リストに表示するかどうかを示す値を取得または設定します。Gets or sets a value that indicates whether frequently used items are displayed in the Jump List.

ShowRecentCategory

最近使用された項目をジャンプ リストに表示するかどうかを示す値を取得または設定します。Gets or sets a value that indicates whether recently used items are displayed in the Jump List.

メソッド

AddToRecentCategory(JumpPath)

指定したジャンプパスを、ジャンプリストの [ 最近使っ たもの] カテゴリに追加します。Adds the specified jump path to the Recent category of the Jump List.

AddToRecentCategory(JumpTask)

指定されたジャンプタスクを、ジャンプリストの [ 最近使っ たもの] カテゴリに追加します。Adds the specified jump task to the Recent category of the Jump List.

AddToRecentCategory(String)

指定した項目のパスを、ジャンプリストの [ 最近使っ たもの] カテゴリに追加します。Adds the specified item path to the Recent category of the Jump List.

Apply()

現在の状態の JumpList を Windows シェルに送信します。Sends the JumpList to the Windows shell in its current state.

BeginInit()

JumpList の初期化の開始を通知します。Signals the start of the JumpList initialization.

EndInit()

JumpList の初期化の終了を通知します。Signals the end of the JumpList initialization.

Equals(Object)

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。Determines whether the specified object is equal to the current object.

(継承元 Object)
GetHashCode()

既定のハッシュ関数として機能します。Serves as the default hash function.

(継承元 Object)
GetJumpList(Application)

アプリケーションに関連付けられている JumpList オブジェクトを返します。Returns the JumpList object associated with an application.

GetType()

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(継承元 Object)
MemberwiseClone()

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(継承元 Object)
SetJumpList(Application, JumpList)

アプリケーションに関連付けられている JumpList オブジェクトを設定します。Sets the JumpList object associated with an application.

ToString()

現在のオブジェクトを表す文字列を返します。Returns a string that represents the current object.

(継承元 Object)

イベント

JumpItemsRejected

Windows シェルによってジャンプ リスト項目がジャンプ リストに正常に追加されない場合に発生します。Occurs when jump items are not successfully added to the Jump List by the Windows shell.

JumpItemsRemovedByUser

以前からジャンプ リストにあったジャンプ項目がユーザーによってリストから削除された場合に発生します。Occurs when jump items previously in the Jump List are removed from the list by the user.

適用対象