Windows 7 ile gelen bir özellik olan Jumlist’i hepiniz duymuşsunuzdur.Gerçekten işimizi kolaylaştırmayı hedefleyen hoş bir özellik aslına bakarsanız benim favorilerim arasında:)Mesele Media Player ikonuna sağ tıkladığımızda en son dinlediğimiz şarkıları göstermesi,aynı ikonun üzerine gelince play/pause butonlarının olması ya da Visual Studio’da sağ tıkladığımızda en son yaptığımız projelerin listesini Jumplist sayesinde görmekteyiz.

    

Ben de bugün WPF uygulamalarına nasıl jumplist özelliği eklenebildiğinden bahsedeceğim.Tabii bu uygulamayı yapabilmek için en başta Windows 7 yüklü bir sistem ve .NET Framework 4.0 gerekmektedir.Bunların sistemde yüklü olduğunu varsayarak demoya başlıyorum.Kısaca yapacağımız demodan bahsedeyim.Uygulamamızı çalıştırdığımızda taskbarda çıkan ikona sağ tıkladığımızda notepad ve MSN Messenger programlarımızı açabileceğimiz iki tane task koyacağız.Ön izleme alanında ise uygulamamızdaki TextBox’ta seçili alanı kopyalayan bir task oluşturacağız.     

JumpList jumplist = new JumpList(); 

         JumpList.SetJumpList(Application.Current,jumplist);

         JumpTask task = new JumpTask(); 

         task.Title = "NotePad";

         task.CustomCategory = "Programlar";

         task.ApplicationPath = "notepad.exe";

         task.IconResourcePath = AppDomain.CurrentDomain.BaseDirectory + "Images\\Icon.ico";

Uygulamamızın Load olduğunda önce bir JumpList oluşturuyoruz ve uygulamamıza entegre olması için SetJumpList metodunu kullanıyoruz.Ardından bir JumpTask yaratarak task tanımlıyoruz ve bu task ile ilgili bilgileri atıyoruz.ApplicationPath özelliği bizim çalıştırmak istediğimiz uygulamanın yoludur.CustomCategory  de eğer farklı işlemler gerçekleştiren taskler varsa bunları gruplar halinde gösterir.Şimdi bu jumplisti uygulamamız gerekmektedir.Bunu da aşağıdaki gibi yapabiliriz.

jumplist.JumpItems.Add(task);

jumplist.Apply();

 Ön izleme kısmını ise XAML tarafında yapmaktayız.Formumuza bir textbox ekledikten sonra taskbar şu şekilde oluşturulmaktadır.

<Window.TaskbarItemInfo>

 <TaskbarItemInfo Overlay="Images/win7.jpg"> 

  <TaskbarItemInfo.ThumbButtonInfos>

   <ThumbButtonInfo Command="Copy"   CommandTarget="{Binding ElementName=textbox1}"  Description="Textbox'daki seçili alanı kopyalar"   DismissWhenClicked="False" ImageSource="Images/copy.png" />

  </TaskbarItemInfo.ThumbButtonInfos>

 </TaskbarItemInfo>

</Window.TaskbarItemInfo>

Overlay ikon uygulama çalıştığında uygulamamızın taskbarda görünen ikonunun sağ tarafında görünen resimdir.Ön izleme de çıkan butonları da <TaskbarItemInfo.ThumbButtonInfos/> tagını kullanarak oluşturmaktayız.DismissWhenClicked property’si ise ön izleme alanındaki butona tıklandığında ön izleme ekranının kapanıp kapanmamasını ayarlamamızı sağlar.Uygulamayı çalıştırdığımızda aşağıdaki gibi bir screenshot ile karşılaşacağız. 

Artık WPF uygulamalarımıza API’leri kullanarak kolayca jumplist özelliği ekleyebilirsiniz.Demo uygulamayı aşağıdan indirebilirsiniz.

JumpListApp.zip (2,96 mb)

About the Author