.NET GUI

.NET Community für WPF, Silverlight und mehr!
Willkommen bei .NET GUI. Anmeldung | Registrieren | Hilfe | Impressum | Forumsregeln
in Suchen

How-To: Windows7-Taskbar mit WPF anpassen - JumpList

Letzter Beitrag 11-07-2009 19:43 von Norbert Eder. 0 Antworten.
Seite 1 von 1 (1 Treffer)
Beiträge sortieren: Zurück Weiter
  • 11-07-2009 19:43

    • Norbert Eder
    • Top 10 Mitwirkender
      Männlich
    • Registriert am 04-09-2008
    • Graz / Austria
    • Beiträge 936
    • Punkte 14.384
    • ForumsAdministrator

    How-To: Windows7-Taskbar mit WPF anpassen - JumpList

    .NET 4 bietet über die Klasse System.Windows.Shell.JumpList Zugriff auf Menüeinträge zu einer Anwendung, die in der Windows7-Taskbar angezeigt werden. Diese Liste läßt sich auf die eigene Anwendung anpassen. Dazu können Objekte mit dem Basistyp System.Windows.Shell.JumpItem hinzugefügt werden. Hier stehen zwei Ableitungen zur Verfügung:

    JumpTask stellt hierbei einen Link zu einer Anwendung dar, JumpPath zu einer Datei. Zu beachten ist, dass die Datei unter JumpPath nur angezeigt wird, wenn dessen Dateierweiterung für die aktuelle Anwendung registriert ist, andernfalls erscheint dieser Eintrag nicht in der JumpList. Beide können mittels CustomCategory in Kategorien angezeigt werden.

    Eine JumpList wird einem Application-Objekt zugewiesen (mittels SetJumpList). Es können mehrere Objekte vom Typ JumpList erstellt, jedoch immer nur eine Instanz einer Anwendung zugeordnet und somit angezeigt werden.

    Via XAML kann die JumpList folgendermaßen angepasst werden:

    <Application x:Class="DotNetGui.WpfJumpList.App"
                 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                 xmlns:shell="clr-namespace:System.Windows.Shell;assembly=PresentationFramework"
                 StartupUri="MainWindow.xaml">
        <Application.Resources>
             
        </Application.Resources>
    
        <shell:JumpList.JumpList>
            <shell:JumpList ShowRecentCategory="True"
                      ShowFrequentCategory="True"
                      JumpItemsRemovedByUser="JumpItemsRemovedByUser"
                      JumpItemsRejected="JumpItemsRejected"
                      >
                <shell:JumpTask 
                          Title="Read Release Notes" 
                          Description="Open this application's Release Notes" 
                          ApplicationPath="notepad.exe"
                          WorkingDirectory="C:\Programme\DemoApplication"
                          Arguments="ReleaseNotes.txt"
                          IconResourcePath="notepad.exe"
                    />
            </shell:JumpList>
        </shell:JumpList.JumpList>
    
    </Application>

    Natürlich kann die JumpList auch per Code gesetzt werden:

    private void SetJumpList()
    {
        JumpList list = new JumpList();
    
        JumpTask task = new JumpTask();
        task.Title = "Read Release Notes";
        task.Description = "Open this application's Release Notes";
        task.ApplicationPath = "notepad.exe";
        task.WorkingDirectory = "C:\\Programme\\DemoApplication";
        task.Arguments = "ReleaseNotes.txt";
        task.IconResourcePath = "notepad.exe";
    
        list.JumpItems.Add(task);
        JumpList.SetJumpList(App.Current, list);
    }

    Und so kann es aussehen:

     

     

    • Beitragspunkte: 5
    • IP-Adresse ist Registriert
Seite 1 von 1 (1 Treffer)
Powered by Community Server (Commercial Edition)    69° - Internet-Agentur Nürnberg (ASP.NET, CMS, Webdesign)