したがって、私の WPF アプリケーションにはジャンプ リストが定義されています。App.xaml
<JumpList.JumpList>
<JumpList ShowRecentCategory="True"/>
</JumpList.JumpList>
Windows がアプリケーションに関連付けられた特定のファイルを認識しない限り、このリストは空です。Inno Setup を介してカスタム ファイル拡張子を関連付けることができ、win7 のスタート メニュー + タスクバーにジャンプ リストが適切に表示されます。このような「最近のファイル」をクリックすると、追加のコマンド ライン引数 (ファイル名) を使用してアプリケーションが呼び出され、アプリケーションの起動時にそのファイルを直接開くことができます。
目標: (win7 タスクバーだけでなく) アプリケーション内の最近のファイルを表示します。 [ファイル] メニュー (例: Visual Studio: [ファイル] > [最近使ったファイル] > ...) や、ジャンプする最近のプロジェクトを示すスタート ページのようなものを考えてみてください。
問題: JumpList にはカスタム タスクのみが含まれ、最近のファイルは含まれません。経由で JumpItems を反復処理することが可能です
List<JumpItem> items = JumpList.GetJumpList(Application.Current).JumpItems
これは JumpTask / JumpPath インスタンスのリストです。ここでカスタム作成されたタスクは見つかりますが (たとえば で定義した場合App.xaml
)、ウィンドウ (スタート メニュー/タスクバー) に表示される最近のファイルは見つかりません。したがって、私の場合、ウィンドウには最新の 10 個のファイルが表示されますが、アプリケーションではそれらを表示する方法が見つかりません。
上記の呼び出しで JumpList の定義を省略するApp.xaml
と、JumpList の代わりに null が返されます (win7 の JumpList を上書きしたと思いますが、違います)。