JumpList Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Představuje seznam položek a úkolů zobrazených jako nabídka na tlačítku Windows 7 hlavního panelu.
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
- Dědičnost
-
JumpList
- Atributy
- Implementuje
Příklady
Následující příklad ukazuje aplikaci se seznamem přeskakování. Aplikace obsahuje tři tlačítka, která umožňují přidat úkol do aktuálního seznamu přeskakování, vymazat obsah seznamu přeskakování a použít pro aplikaci nový seznam odkazů.
Následující příklad ukazuje, jak deklarovat JumpList v kódu. Obsahuje JumpList dvě JumpTask propojení a jednu JumpPath. Pokud JumpPath aplikace není zaregistrovaná pro zpracování přípony názvu souboru .txt, použití v prostředí selže.
<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>
Následující příklad ukazuje znakovou stránku pro App.xaml. Tento kód zpracovává JumpItemsRejected události a JumpItemsRemovedByUser události.
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());
}
}
}
Následující příklad ukazuje značky použité k vytvoření uživatelského rozhraní aplikace.
<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>
Následující příklad ukazuje znakovou stránku pro MainWindow.xaml. Tento kód ukazuje, jak upravit, vymazat a vytvořit v procedurálním JumpList kódu. U nového seznamu odkazů se volá statická metoda SetJumpList, která přidruží JumpList k aktuální aplikaci a použije JumpList do prostředí 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);
}
}
}
Poznámky
Hlavní panel Windows 7 poskytuje vylepšené funkce pro spouštění programů přímo z tlačítka hlavního panelu pomocí seznamů odkazů. Seznamy odkazů se používají také v nabídce Windows 7 Start. Seznam odkazů získáte tak, že kliknete pravým tlačítkem myši na tlačítko hlavního panelu nebo kliknete na šipku vedle programu v nabídce Start. Další informace o seznamech odkazů najdete v části Taskbar pokynů k interakci s Windows uživatelským prostředím.
Třída JumpList poskytuje spravovanou obálku pro funkci Jump List na hlavním panelu Windows 7 a spravuje data předaná do prostředí Windows. Funkce vystavené JumpList třída není k dispozici ve verzích Windows starších než Windows 7. Aplikace, které používají třídu JumpList, se spustí v jiných verzích Windows, ale seznam odkazů nebude k dispozici. Další informace o prostředí Windows a nativních rozhraních API pro jump list najdete v tématu Taskbar Extensions.
Následující obrázek ukazuje seznam odkazů pro Windows Media Player s položkami v kategoriích Tasks a Frequent.
Windows Media Player Jump List
Konfigurace seznamu přeskakování
Jump Lists může obsahovat dva typy položek, a JumpTaskJumpPath. A JumpTask je odkaz na program a JumpPath je odkaz na soubor. Položky v seznamu odkazů můžete vizuálně oddělit tak, že vytvoříte JumpTask položku, která neobsahuje Title a CustomCategory není zadaná. Tato prázdná JumpTask hodnota se zobrazí jako vodorovná čára v seznamu odkazů.
Poznámka:
Pokud typ souboru zadaného v aplikaci JumpPath není zaregistrovaný, soubor se nezobrazí v seznamu odkazů. Pokud například přidáte JumpPath odkaz na soubor .txt, musí být vaše aplikace zaregistrovaná pro zpracování .txt souborů. Další informace naleznete v tématu Úvod do přidružení souborů.
Jump items are placed into categories in the JumpList. Ve výchozím nastavení JumpItem je zobrazena v kategorii Úkoly . Alternativně můžete zadat CustomCategory hodnotu .JumpItem
Můžete určit, zda jsou standardní kategorie Poslední a Časté zobrazeny v JumpList nastavení ShowRecentCategory a ShowFrequentCategory vlastností. Obsah těchto kategorií spravuje prostředí Windows. Vzhledem k tomu, že tyto kategorie můžou obsahovat většinu stejných dat, obvykle se v JumpListnich zobrazuje jedna nebo druhá, ale ne obě. Windows automaticky spravuje poslední položky, pokud jsou otevřeny prostřednictvím běžného dialogového okna souboru nebo slouží k otevření aplikace prostřednictvím přidružení typu souboru. Při přístupu k položce prostřednictvím seznamu odkazů můžete upozornit prostředí Windows přidat položku do kategorie Recent voláním metody AddToRecentCategory.
Použití seznamu přeskakování v prostředí Windows
K seznamu jumpů prostředí nelze získat přístup přímo nebo číst jeho obsah do JumpList třídy. Místo toho třída JumpList poskytuje reprezentaci seznamu odkazů, se kterým můžete pracovat, a pak platí pro prostředí Windows. Obvykle vytvoříte JumpList a nastavíte ji jednou při prvním spuštění aplikace. Můžete ale změnit nebo nahradit za JumpList běhu.
Pokud jste nastavili vlastnosti JumpList, musíte použít JumpList do prostředí Windows, než se jeho obsah zobrazí v seznamu odkazů na hlavním panelu. To se provádí automaticky, když JumpList je první připojen k aplikaci, buď v XAML, nebo v volání SetJumpList metody. Pokud upravíte obsah JumpList za běhu, je nutné volat metodu Apply, aby se jeho aktuální obsah použil na prostředí Windows.
Nastavení seznamu přeskakování v XAML
A JumpList není automaticky připojen k objektu Application . K objektu JumpListApplication v XAML se připojíte pomocí syntaxe připojené vlastnosti. Třída JumpList implementuje ISupportInitialize rozhraní pro podporu XAML deklarace JumpList. Pokud je JumpList deklarován v jazyce XAML a připojen k aktuálnímu Application, použije se automaticky na prostředí Windows při inicializaci JumpList.
Nastavení a úprava seznamu odkazů v kódu
Připojíte JumpList k objektu Application v kódu voláním statické SetJumpList metody. Platí to také pro prostředí Windows JumpList.
Chcete-li změnit JumpList za běhu, zavoláte metodu GetJumpList získat JumpList , která je aktuálně připojena k objektu Application. Po úpravě vlastností JumpList je nutné volat metodu Apply, aby se změny použily v prostředí Windows.
Poznámka:
Obvykle vytvoříte jeden JumpList, který je připojený k Application a použitý v prostředí Windows. Můžete však vytvořit více JumpList objektů. V prostředí Windows lze současně použít pouze jeden JumpList a současně lze k Application přidružit pouze jeden JumpList. Architektura .NET nevyžaduje, aby se jednalo o stejné JumpList.
Poznámka:
Tato třída obsahuje požadavek na propojení na úrovni třídy, která se vztahuje na všechny členy. Vyvolá SecurityException se, když bezprostřední volající nemá oprávnění k úplnému důvěryhodnosti. Další informace o požadavcích na zabezpečení najdete v tématu Požadavky propojení.
Konstruktory
| Name | Description |
|---|---|
| JumpList() |
Inicializuje novou instanci JumpList třídy. |
| JumpList(IEnumerable<JumpItem>, Boolean, Boolean) |
Inicializuje novou instanci JumpList třídy se zadanými parametry. |
Vlastnosti
| Name | Description |
|---|---|
| JumpItems |
Získá kolekci JumpItem objektů, které jsou zobrazeny v seznamu odkazů. |
| ShowFrequentCategory |
Získá nebo nastaví hodnotu, která označuje, zda jsou často používané položky zobrazeny v seznamu odkazů. |
| ShowRecentCategory |
Získá nebo nastaví hodnotu, která určuje, zda jsou nedávno použité položky zobrazeny v seznamu odkazů. |
Metody
| Name | Description |
|---|---|
| AddToRecentCategory(JumpPath) |
Přidá zadanou cestu skoku do kategorie Poslední v seznamu odkazů. |
| AddToRecentCategory(JumpTask) |
Přidá zadaný úkol skoku do kategorie Poslední v seznamu odkazů. |
| AddToRecentCategory(String) |
Přidá zadanou cestu k položce do kategorie Poslední v seznamu odkazů. |
| Apply() |
Odešle JumpList do prostředí Windows v aktuálním stavu. |
| BeginInit() |
Signalizuje začátek JumpList inicializace. |
| EndInit() |
Signalizuje konec JumpList inicializace. |
| Equals(Object) |
Určí, zda se zadaný objekt rovná aktuálnímu objektu. (Zděděno od Object) |
| GetHashCode() |
Slouží jako výchozí funkce hash. (Zděděno od Object) |
| GetJumpList(Application) |
JumpList Vrátí objekt přidružený k aplikaci. |
| GetType() |
Získá Type aktuální instance. (Zděděno od Object) |
| MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Object. (Zděděno od Object) |
| SetJumpList(Application, JumpList) |
JumpList Nastaví objekt přidružený k aplikaci. |
| ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |
Událost
| Name | Description |
|---|---|
| JumpItemsRejected |
Vyvolá se v případě, že se jump položky úspěšně nepřidají do seznamu odkazů Windows prostředím. |
| JumpItemsRemovedByUser |
Vyvolá se v případě, že uživatel odebere položky přeskakování v seznamu dříve v seznamu. |