執筆者: エディフィストラーニング株式会社 矢嶋 聡

動作確認環境: .NET Framework 4, Visual Studio 2010, Windows 7

更新日: 2010 年 2 月 19 日


WPF 4 を使用すれば、Windows 7 環境で実行される WPF アプリケーションのジャンプリストをカスタマイズすることが可能であり、図 1 のようにカスタム タスクを起動する項目をジャンプリストに追加できます。

図 1. タスク「ReadMe の参照」を追加したジャンプリスト

これを行うために必要となる中心的なクラスは、System.Windows.Shell 名前空間の JumpList クラスです。WPF アプリケーションにおいては、マークアップ (XAML) での実装と Visual Basic 及び C# での実装が可能です。XAML で設定する場合は、Application オブジェクトに相当するマークアップ (XAML) に次のように記述するだけで、図 1 のジャンプリストを構成できます。

例 1. XAML

XAML
<Application x:Class="Application"	←[1]
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    StartupUri="MainWindow.xaml">
    <JumpList.JumpList>					←[2]
        <JumpList>					←[3]
            <JumpTask Title="ReadMe の参照" 		←[4]
                       Description="ReadMeを開きます。"
                       ApplicationPath="C:\Windows\notepad.exe"
                       IconResourcePath="C:\Windows\notepad.exe"
                       WorkingDirectory="C:\Users\Public\Documents"
                       Arguments="ReadMe.txt"/>
        </JumpList>
    </JumpList.JumpList>
</Application>
 

上記は、Visual Studio 2010 で「WPF アプリケーション」テンプレートを使用してプロジェクトを新規作成した際に生成される XAML ファイルに対して追加した例です。(Visual Basic プロジェクトでのファイル名は Application.xaml。Visual C# プロジェクトでは App.xaml。)

WPF アプリケーションのジャンプリストをカスタマイズするには、上記のように [1] で始まる <Application> 要素ブロックの中で、[2] に示すように JumpList クラスの JumpList 添付プロパティ (Attached Property) に対して、[3] のような特定の JumpList オブジェクトを設定します。

 

[2] の JumpList プロパティは「添付プロパティ」なので、[2] の記述は次の VB コードの SetJumpList メソッド呼び出しと同じ意味になります。

例 2. XAML

XAML
JumpList.SetJumpList( [1] のApplicationオブジェクト, [3] のJumpListオブジェクト )
 

結局のところ、SetJumpList メソッドを呼び出して、[1] のアプリケーションと [3] のジャンプリストとの関連付けを行うことになります。

Note: 添付プロパティ (Attached Property) の基本的仕組みは、以下を参照してください。

2010 年 2 月現在

[3] のジャンプリストには、追加したいタスクを [4] のように JumpTask オブジェクトとして追加します。[4] の JumpTask では、項目として表示される内容を Title プロパティに設定するほか、Description プロパティには、ツール ヒントも設定できます。

また、そもそも JumpTask オブジェクトとして表わされる「タスク」の役割は、特定のプログラムを起動することなので、ApplicationPath プロパティには実行したいプログラム パスを指定します。そのほか上記の例にあるように、表示アイコン (IconResourcePath)、作業ディレクトリ (WorkingDirectory)、コマンドライン引数 (Arguments) も指定できます。この例のタスクでは、作業ディレクトリにある「ReadMe.txt」をメモ帳 (notepad.exe) で開きます。


Code Recipe Code Recipe

ページのトップへ