Share via


JumpList Kelas

Definisi

Mewakili daftar item dan tugas yang ditampilkan sebagai menu pada tombol bilah tugas 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
Warisan
JumpList
Atribut
Penerapan

Contoh

Contoh berikut menunjukkan aplikasi dengan Jump List. Aplikasi ini memiliki tiga tombol yang memungkinkan Anda menambahkan tugas ke Jump List saat ini, menghapus konten Jump List, dan menerapkan Jump List baru ke aplikasi.

Contoh berikut menunjukkan cara mendeklarasikan JumpList dalam markup. JumpList berisi dua JumpTask tautan dan satu JumpPath. Menerapkan ke JumpPath shell akan gagal jika aplikasi tidak terdaftar untuk menangani ekstensi nama file .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>

Contoh berikut menunjukkan halaman code-behind untuk App.xaml. Kode ini menangani JumpItemsRejected peristiwa dan 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());
        }
    }
}

Contoh berikut menunjukkan markup yang digunakan untuk membuat antarmuka pengguna aplikasi.

<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>

Contoh berikut menunjukkan halaman code-behind untuk MainWindow.xaml. Kode ini menunjukkan cara memodifikasi, menghapus, dan membuat JumpList dalam kode prosedural. Untuk Jump List baru, metode statis SetJumpList dipanggil untuk mengaitkan JumpList dengan aplikasi saat ini dan menerapkannya JumpList ke shell 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);
        }
    }
}

Keterangan

Taskbar Windows 7 menyediakan fungsionalitas yang ditingkatkan untuk memulai program langsung dari tombol taskbar dengan menggunakan Jump Lists. Jump List juga digunakan di menu Mulai Windows 7. Anda mengakses Jump List dengan mengklik kanan tombol taskbar atau dengan mengklik panah di samping program di menu Mulai. Untuk informasi selengkapnya tentang Jump Lists, lihat bagian Taskbar dari Panduan Interaksi Pengalaman Pengguna Windows.

Kelas menyediakan JumpList pembungkus terkelola untuk fungsionalitas Jump List di taskbar Windows 7 dan mengelola data yang diteruskan ke shell Windows. Fungsionalitas yang JumpList diekspos oleh kelas tidak tersedia di versi Windows yang lebih lama dari Windows 7. Aplikasi yang menggunakan JumpList kelas akan berjalan di versi Windows lainnya, tetapi Jump List tidak akan tersedia. Untuk informasi selengkapnya tentang shell Windows dan API Jump List asli, lihat Ekstensi Taskbar.

Ilustrasi berikut ini memperlihatkan Jump List untuk Pemutar Media Windows, dengan item dalam kategori Tugas dan Sering.

Pemutar Media Windows Jump List
Pemutar Media Windows Jump List

Mengonfigurasi Jump List

Jump List dapat berisi dua jenis item, JumpTask dan JumpPath. JumpTask adalah tautan ke program dan JumpPath merupakan tautan ke file. Anda dapat memisahkan item secara visual dalam Daftar Lompat dengan membuat JumpTask yang tidak memiliki Title dan CustomCategory ditentukan. JumpTask Kosong ini akan ditampilkan sebagai garis horizontal di Jump List.

Catatan

Jika jenis file yang ditentukan dalam JumpPath tidak terdaftar di aplikasi Anda, file tidak akan muncul di Jump List. Misalnya, jika Anda menambahkan JumpPath yang menunjuk ke file .txt, aplikasi Anda harus didaftarkan untuk menangani file .txt. Untuk informasi selengkapnya, lihat Pengantar Asosiasi File.

Item lompat ditempatkan ke dalam kategori di JumpList. Secara default, JumpItem ditampilkan dalam kategori Tugas . Atau, Anda dapat menentukan CustomCategory untuk JumpItem.

Anda dapat menentukan apakah kategori Terbaru dan Sering standar ditampilkan di JumpList dengan mengatur ShowRecentCategory properti dan ShowFrequentCategory . Isi kategori ini dikelola oleh shell Windows. Karena kategori ini mungkin berisi banyak data yang sama, Anda biasanya menampilkan satu atau yang lain di , JumpListtetapi tidak keduanya. Windows secara otomatis mengelola item terbaru jika dibuka melalui kotak dialog file umum atau digunakan untuk membuka aplikasi melalui asosiasi tipe file. Saat item diakses melalui Jump List, Anda dapat memberi tahu shell Windows untuk menambahkan item ke kategori Terbaru dengan memanggil AddToRecentCategory metode .

Menerapkan Jump List ke Windows Shell

Anda tidak dapat mengakses Jump List shell secara langsung atau membaca kontennya ke JumpList kelas . Sebaliknya, JumpList kelas menyediakan representasi Jump List yang dapat Anda kerjakan, lalu terapkan ke shell Windows. Anda biasanya membuat JumpList dan mengaturnya satu kali ketika aplikasi pertama kali dijalankan. Namun, Anda dapat memodifikasi atau mengganti pada JumpList durasi.

Bila Anda telah mengatur JumpList properti, Anda harus menerapkan ke JumpList shell Windows sebelum isinya muncul di Taskbar Jump List. Ini dilakukan secara otomatis ketika JumpList pertama kali dilampirkan ke aplikasi, baik di XAML atau dalam panggilan ke SetJumpList metode . Jika Anda mengubah isi JumpList pada durasi, Anda harus memanggil Apply metode untuk menerapkan isinya saat ini ke shell Windows.

Mengatur Jump List di XAML

JumpList tidak secara otomatis dilampirkan ke Application objek. Anda melampirkan JumpList ke Application objek di XAML dengan menggunakan sintaks properti terlampir. Kelas JumpList mengimplementasikan ISupportInitialize antarmuka untuk mendukung deklarasi XAML dari JumpList. JumpList Jika dideklarasikan dalam XAML dan dilampirkan ke saat ini Application, secara otomatis diterapkan ke shell Windows ketika JumpList diinisialisasi.

Mengatur dan Memodifikasi Jump List dalam Kode

Anda melampirkan JumpList ke Application objek dalam kode dengan memanggil metode statis SetJumpList . Ini juga berlaku untuk JumpList shell Windows.

Untuk memodifikasi JumpList pada waktu proses, Anda memanggil GetJumpList metode untuk mendapatkan JumpList yang saat ini dilampirkan ke Application. Setelah Anda memodifikasi properti JumpList, Anda harus memanggil Apply metode untuk menerapkan perubahan ke shell Windows.

Catatan

Anda biasanya membuat yang JumpList dilampirkan ke Application dan diterapkan ke shell Windows. Namun, Anda dapat membuat beberapa JumpList objek. Hanya satu per satu JumpList yang dapat diterapkan ke shell Windows, dan hanya satu per satu JumpList yang dapat dikaitkan dengan Application. .NET Framework tidak mengharuskan ini samaJumpList.

Catatan

Kelas ini berisi permintaan tautan di tingkat kelas yang berlaku untuk semua anggota. SecurityException dilemparkan ketika penelepon langsung tidak memiliki izin kepercayaan penuh. Untuk informasi selengkapnya tentang tuntutan keamanan, lihat Permintaan Tautan dan Permintaan Warisan.

Konstruktor

JumpList()

Menginisialisasi instans baru kelas JumpList.

JumpList(IEnumerable<JumpItem>, Boolean, Boolean)

Menginisialisasi instans JumpList baru kelas dengan parameter yang ditentukan.

Properti

JumpItems

Mendapatkan koleksi JumpItem objek yang ditampilkan di Jump List.

ShowFrequentCategory

Mendapatkan atau mengatur nilai yang menunjukkan apakah item yang sering digunakan ditampilkan di Jump List.

ShowRecentCategory

Mendapatkan atau mengatur nilai yang menunjukkan apakah item yang baru digunakan ditampilkan di Jump List.

Metode

AddToRecentCategory(JumpPath)

Menambahkan jalur lompat yang ditentukan ke kategori Terbaru dari Jump List.

AddToRecentCategory(JumpTask)

Menambahkan tugas lompat yang ditentukan ke kategori Terbaru dari Jump List.

AddToRecentCategory(String)

Menambahkan jalur item yang ditentukan ke kategori Terbaru dari Daftar Lompat.

Apply()

Mengirim ke JumpList shell Windows dalam statusnya saat ini.

BeginInit()

Memberi sinyal awal inisialisasi JumpList .

EndInit()

Menandakan akhir inisialisasi JumpList .

Equals(Object)

Menentukan apakah objek yang ditentukan sama dengan objek saat ini.

(Diperoleh dari Object)
GetHashCode()

Berfungsi sebagai fungsi hash default.

(Diperoleh dari Object)
GetJumpList(Application)

Mengembalikan objek yang JumpList terkait dengan aplikasi.

GetType()

Mendapatkan dari instans Type saat ini.

(Diperoleh dari Object)
MemberwiseClone()

Membuat salinan dangkal dari saat ini Object.

(Diperoleh dari Object)
SetJumpList(Application, JumpList)

Mengatur objek yang JumpList terkait dengan aplikasi.

ToString()

Mengembalikan string yang mewakili objek saat ini.

(Diperoleh dari Object)

Acara

JumpItemsRejected

Terjadi ketika item lompat tidak berhasil ditambahkan ke Jump List oleh shell Windows.

JumpItemsRemovedByUser

Terjadi ketika item lompat sebelumnya di Daftar Lompat dihapus dari daftar oleh pengguna.

Berlaku untuk