Wer bereits Windows 7 verwendet kennt bestimmt die neuen Preview Thumbnails in der Startleiste. Diese sehen nicht nur toll aus und highlighten (mit Aero Peek) das aktuell ausgewählte Fenster sondern können auch zusätzliche Buttons aufnehmen. Dies ist im Windows Media Player bereits so der Fall.
Damit man dies in die eigene Anwendung integrieren kann sind nur wenige Schritte notwendig. Der erste Schritt ist die Referenz auf das Windows7APICodePack. Wie dies funktioniert wird hier erläutert
Danach sind noch zwei Icons notwendig, welche in unserer Applikation (welche eine WPF Applikation ist) angezeigt wird. Dies funktioniert indem man ein neues Objekt dem Projekt hinzufügt:
Danach muss man den Button auch noch zeichnen.
Schlussendlich ist auch noch etwas Code notwendig. Zuerst werden 2 Referenzen benötigt:
using Microsoft.WindowsAPICodePack.Taskbar;
using System.Windows.Interop;
Die erste Referenz ist für das Codepack zuständig, die zweite erlaubt uns den Zugriff auf das Window-Handle.
Ein Button in der Preview ist von “ThumbnailToolbarButton”. Dieser benötigt zur Erstellung ein Icon und einen Tooltip.
ThumbnailToolbarButton button1 = new ThumbnailToolbarButton(Properties.Resources.Icon1, "Zurück");
ThumbnailToolbarButton button2 = new ThumbnailToolbarButton(Properties.Resources.Icon2, "Vorwärts");
Als Icon werden hier die zwei neu erstellten Icons verwendet. Als Tooltip gibt es jeweils entweder “Zurück” oder “Vorwärts” – dies sollte jedoch in etwa mit dem Icon übereinstimmen ;)
Danach werden noch zwei Eventhandler hinzugefügt:
button1.Click += (sender1, e1) =>
{
MessageBox.Show("Button 1 wurde in der Applikation geklickt");
};
button2.Click += (sender1, e1) =>
{
MessageBox.Show("Button 2 wurde in der Applikation geklickt");
};
Schlussendlich müssen auch die Buttons noch dem TaskbarManager hinzugefügt werden. Dies geschieht indem man sich die Instanz des TaskbarManagers abruft. Einzig das Handle, welches über den WindowInteropHelper kommt (Namespace System.Widnows.Interop) und die Buttons müssen der ThumbnailToolbars übergeben werden
TaskbarManager.Instance.ThumbnailToolbars.AddButtons(new WindowInteropHelper(this).Handle,
button1, button2);
Das Ergebniss sollte dann in etwa so aussehen:

Das war’s auch schon – gar nicht wirklich schwierig. Das einzige aufwändige an dem Beispiel war das zeichnen der Icons ;)