In the "Windows 7 taskbar Development Series" previously written, we developed the application taskbar Through Visual Studio 2008 using the Windows API Code Pack provided by Microsoft, the coming Visual Studio 2010 provides us with a more convenient development method. The new version of WPF 4 only needs to use the XAML code to implement the features of the Windows 7 taskbar. This article introduces JumpList and introduces new features of. NET Framework 4.0.
Compiling JumpList with XAML
In WPF 4, the convenience of developing the taskbar is that you can use XAML to directly write the corresponding functional code, without the need to use APIs to write tedious C # programs. OpenApp. xamlFile is added to the JumpList program we want. The JumpList class provides a method to create a jump list. The JumpTask class can create links in the list. You can compare the JumpList written through APIS. Obviously, the XAML method is simpler and clearer.
<Application x:Class="Win7TaskbarDemo.App" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" StartupUri="MainWindow.xaml"> <Application.Resources> </Application.Resources> <JumpList.JumpList> <JumpList ShowFrequentCategory="True" ShowRecentCategory="True"> <JumpTask ApplicationPath="notepad.exe" CustomCategory="Microsoft Tools" Description="Start Notepad" Title="Notepad" IconResourcePath="notepad.exe" IconResourceIndex="0" /> <JumpTask ApplicationPath="mspaint.exe" CustomCategory="Microsoft Tools" Description="Start Paint" Title="Paint" IconResourcePath="mspaint.exe" IconResourceIndex="0" /> <JumpTask ApplicationPath="http://gnielee.cnblogs.com/" CustomCategory="Blog Link" Description="Go to {GnieTech}" Title="Gnie's Blog" IconResourcePath="C:\\Program Files\\Internet Explorer\\iexplore.exe" /> </JumpList> </JumpList.JumpList></Application>
By reading the above program, we can easily see that we have added two applications ("Notepad" and "Drawing version") and a "website link ", the attribute parameters are also very convenient to use.
Use C # To compile JumpList
A simple JumpList is written in the XAML method above. Of course, C # can also achieve the same effect. First, drag two buttons in MainWindow:
<Window x:Class="Win7TaskbarDemo.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="MainWindow" Height="211" Width="363" Icon="/Win7TaskbarDemo;component/Resources/App.ico"> <Grid> <Button Content="Clear All Tasks" Height="23" HorizontalAlignment="Right" Margin="0,29,59,0" Name="ClearBtn" VerticalAlignment="Top" Width="89" Click="ClearBtn_Click" /> <Button Content="Add New Task" Height="23" HorizontalAlignment="Left" Margin="60,29,0,0" Name="AddBtn" VerticalAlignment="Top" Width="93" Click="AddBtn_Click" /> </Grid></Window>
Add click events for them separately. One is to add a "Calculator" link for JumpList, and the other is to clear all links. To create a JumpList, you must use the System. Windows. Shell namespace. Is it a bit like Microsoft. WindowsAPICodePack. Shell in the API.
private void AddBtn_Click(object sender, RoutedEventArgs e){ JumpTask jumpTask = new JumpTask(); //Create a new Calculator JumpTask jumpTask.ApplicationPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.System), "calc.exe"); jumpTask.IconResourcePath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.System), "calc.exe"); jumpTask.Title = "Calculator"; jumpTask.Description = "Start Calculator"; jumpTask.CustomCategory = "New Microsoft Tools"; //Add Calculator to JumpList JumpList jumpList = JumpList.GetJumpList(App.Current); jumpList.JumpItems.Add(jumpTask); jumpList.Apply();}private void ClearBtn_Click(object sender, RoutedEventArgs e){ JumpList jumpList1 = JumpList.GetJumpList(App.Current); jumpList1.JumpItems.Clear(); jumpList1.Apply();}
The effect of clicking the two buttons respectively:
References
1. Navigation list for Windows 7 taskbar Development (Jump Lists)
Http://www.cnblogs.com/gnielee/archive/2010/03/16/windows7-taskbar-jumplists.html
2. What's New in WPF Version 4
Http://msdn.microsoft.com/en-us/library/bb613588 (VS.100). aspx
3. JumpList Class
Http://msdn.microsoft.com/en-us/library/system.windows.shell.jumplist (v = VS.100). aspx
Source code download