JumpList クラス

定義

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

次の例は、アプリケーションが 1 つのアプリケーションジャンプ リスト。 アプリケーションには、現在の ジャンプ リスト にタスクを追加し、ジャンプ リスト の内容をクリアし、新しい ジャンプ リスト をアプリケーションに適用できる 3 つのボタンがあります。

マークアップで を宣言する方法の例を次 JumpList に示します。 には JumpList 、2 つのリンクと JumpTask 1 つの が含まれている JumpPath 。 ファイル拡張子を処理するためにアプリケーションが登録されていない場合、シェルに を適用 JumpPath .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>

次の例は、 のコード背後にあるページを示しています App.xaml 。 このコードは、 イベントと JumpItemsRejected イベントを 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());
        }
    }
}

次の例は、アプリケーション ユーザー インターフェイスの作成に使用されるマークアップを示しています。

<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 。 このコードでは、手続き型コードで を変更、クリア、および JumpList 作成する方法を示します。 新しいアプリケーションのジャンプ リスト静的メソッドが呼び出され、 が現在のアプリケーションに関連付け、新しいシェルに が SetJumpList JumpList JumpList 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);
        }
    }
}

注釈

Windows 7 タスク バーでは、ジャンプ リストを使用してタスク バー ボタンから直接プログラムを開始するための機能が強化されています。 ジャンプ リストは、Windows 7 のスタート メニュー。 タスク バーにジャンプ リストを右クリックするか、タスク バーのプログラムの横にある矢印をクリックして、スタート メニュー。 ジャンプ リストの詳細については、「ユーザーエクスペリエンス操作ガイドライン」のタスク バー Windowsを参照してください。

クラスは、Windows 7 タスク バーの ジャンプ リスト 機能のマネージド ラッパーを提供し、Windows シェルに渡されるデータ JumpList を管理します。 クラスによって公開される機能は、7 より前のバージョンの Windows JumpList ではWindowsできません。 クラスを使用するアプリケーションは、他のバージョンの Windowsで実行されますが、ジャンプ リスト JumpList は使用できません。 api のシェルとネイティブ Windowsの詳細については、「タスク バージャンプ リスト」を参照してください

次の図は、[タスク] ジャンプ リスト [Windows Media Player] カテゴリに項目が含まれています。

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

アプリケーションのジャンプ リスト

ジャンプ リストには、 と の 2 種類の項目 JumpTask を含めできます JumpPath 。 は JumpTask プログラムへのリンクであり、 JumpPath はファイルへのリンクです。 を持ち、指定されていない をジャンプ リストを作成することで、オブジェクト内の JumpTask 項目を視覚的 Title に分離 CustomCategory できます。 この空 JumpTask の は、 の横線として表示ジャンプ リスト。

注意

で指定されたファイルの種類がアプリケーションに登録されていない場合、ファイルはアプリケーションに JumpPath ジャンプ リスト。 たとえば、特定のファイルをポイントする を追加する.txt、ファイルを処理するためにアプリケーション JumpPath を登録.txtがあります。 詳細については、「ファイルの関連 付けの概要」を参照してください

ジャンプ項目は、 のカテゴリに配置されます JumpList 。 既定では、 JumpItem は [タスク] カテゴリに 表示 されます。 または、 に を CustomCategory 指定できます JumpItem

プロパティと プロパティを設定することで、標準 の [最近 ] カテゴリと [ 頻度 の高いカテゴリ] を に JumpList 表示するかどうかを ShowRecentCategory 指定 ShowFrequentCategory できます。 これらのカテゴリの内容は、 シェルによってWindowsされます。 これらのカテゴリには同じデータの多くが含まれている可能性があります。通常は、 内に一方または一方を表示しますが、両方 JumpList には表示されません。 Windowsファイル ダイアログ ボックスを使用して開いた場合、またはファイルの種類の関連付けを使用してアプリケーションを開くために使用される場合は、最新の項目が自動的に管理されます。 ジャンプ リスト を介して項目にアクセスする場合は、 メソッドを呼び出して、Windows シェルにアイテムを [ 最近] カテゴリに追加する通知を受 AddToRecentCategory け取る必要があります。

ジャンプ リスト シェルへのWindows適用

シェルのファイルに直接アクセスしたりジャンプ リストの内容をクラスに読み取 JumpList りしたりすることはできません。 代わりに、 クラスは、使用できるジャンプ リストの表現を提供し、そのシェルにWindows JumpList します。 通常は、 を作成 JumpList し、アプリケーションの初回実行時に 1 回設定します。 ただし、実行時に を変更または JumpList 置換することができます。

プロパティを設定した後、タスク バーにコンテンツが表示される前に、Windows シェルに を適用 JumpList JumpList する必要ジャンプ リスト。 これは、 が XAML または メソッドの呼び出しでアプリケーションに最初にアタッチ JumpList された場合に自動的に行 SetJumpList われます。 実行時に の内容を変更する場合は、 メソッドを呼び出して、現在の内容をシェルに適用 JumpList Apply Windowsがあります。

XAML でのジャンプ リストの設定

JumpList オブジェクトに自動的にアタッチ Application されません。 添付プロパティ構文 JumpList を使用 Application して、 を XAML の オブジェクトにアタッチします。 クラス JumpList は、 の ISupportInitialize XAML 宣言をサポートする インターフェイスを実装します JumpList 。 が XAML で宣言され、現在の にアタッチされている場合、 が初期化されると、Windows JumpList Application シェルに JumpList 自動的に適用されます。

コード内のジャンプ リストの設定と変更

静的メソッドを JumpList 呼び出 Application して、コード内の オブジェクトに をアタッチ SetJumpList します。 これにより、 がシェル JumpList の Windowsされます。

実行時に JumpList を変更するには、 メソッドを呼 GetJumpList び出して、 に現在アタッチ JumpList されている を取得します Application 。 のプロパティを変更した後、 メソッドを呼び出して、変更をシェルに適用 JumpList Apply Windowsがあります。

注意

通常は、 に JumpList アタッチされ、そのシェルに適用 Application される Windowsします。 ただし、複数のオブジェクトを作成 JumpList できます。 シェルには一度に 1 つのみ適用Windows、 に関連付けられるのは一度に 1 JumpList JumpList つのみです Application 。 この.NET Framework同じ である必要はない場合があります JumpList

注意

このクラスには、すべてのメンバーに適用されるクラス レベルでのリンク要求が含まれている。 直接 SecurityException の呼び出し元に完全信頼アクセス許可が与えされていない場合は、 がスローされます。 セキュリティ要求の詳細については、「要求と継承要求 のリンクを参照してください

コンストラクター

JumpList()

JumpList クラスの新しいインスタンスを初期化します。

JumpList(IEnumerable<JumpItem>, Boolean, Boolean)

指定したパラメーターを使用して、JumpList クラスの新しいインスタンスを初期化します。

プロパティ

JumpItems

ジャンプ リスト内に表示される JumpItem オブジェクトのコレクションを取得します。

ShowFrequentCategory

頻繁に使用される項目をジャンプ リストに表示するかどうかを示す値を取得または設定します。

ShowRecentCategory

最近使用された項目をジャンプ リストに表示するかどうかを示す値を取得または設定します。

メソッド

AddToRecentCategory(JumpPath)

指定したジャンプ パスを、指定したジャンプ パス の [ 最近] カテゴリにジャンプ リスト。

AddToRecentCategory(JumpTask)

指定したジャンプ タスクを、指定したジャンプ タスク の [ 最近] カテゴリにジャンプ リスト。

AddToRecentCategory(String)

指定した項目パスを、指定した項目の [ 最近] カテゴリにジャンプ リスト。

Apply()

現在の状態の JumpList を Windows シェルに送信します。

BeginInit()

JumpList の初期化の開始を通知します。

EndInit()

JumpList の初期化の終了を通知します。

Equals(Object)

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

(継承元 Object)
GetHashCode()

既定のハッシュ関数として機能します。

(継承元 Object)
GetJumpList(Application)

アプリケーションに関連付けられている JumpList オブジェクトを返します。

GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
MemberwiseClone()

現在の Object の簡易コピーを作成します。

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

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

ToString()

現在のオブジェクトを表す文字列を返します。

(継承元 Object)

イベント

JumpItemsRejected

Windows シェルによってジャンプ リスト項目がジャンプ リストに正常に追加されない場合に発生します。

JumpItemsRemovedByUser

以前からジャンプ リストにあったジャンプ項目がユーザーによってリストから削除された場合に発生します。

適用対象