Windows 7 TaskbarItem mit Statusleiste
Wahrscheinlich haben Sie – sofern Sie Windows 7 benutzen – schon einmal diesen Status- beziehungsweise Ladebalken in der Superbar gesehen. Seit dem .NET Framework 4 gibt es einen entsprechenden Namespace für die Superbar für WPF: System.Windows.Shell.
Wahrscheinlich haben Sie – sofern Sie Windows 7 benutzen – schon einmal diesen Status- beziehungsweise Ladebalken in der Superbar gesehen. Seit dem .NET Framework 4 gibt es einen entsprechenden Namespace für die Superbar für WPF: System.Windows.Shell.
In diesem findet sich unter Anderem die Klasse TaskbarItemInfo, welche für ein TaskbarItem, also im Normalfall ein Fenster, den Ladebalken-Status und dessen Fortschritt, so genannte ThubnailButtons (Buttons unter dem Thumbnail), den Thumbnailausschnitt, ein Overlay für das Programm-Icon und die Beschreibung im Tooltip des Thumbnails zuständig ist.
In diesem Artikel geht es um die Ladebalkeneigenschaften. Damit Sie auf diese zugreifen zu können, benötigen Sie eine TaskbarItemInfo-Instanz, welche der gleichnamigen Eigenschaft eines Windows zugeordnet ist. Dies lässt sich am leichtesten in XAML realisieren:
Alternativ können Sie dasselbe natürlich auch im Code-Behind machen:
Die C#-Version des Codes finden Sie hier auf meiner Seite.
Nun können Sie auf die Eigenschaften ProgressValue und ProgressState des TaskbarItemInfo-Objekts zugreifen, mit denen Sie den Fortschritt und den Status des Ladebalkens beeinflussen können. Die Eigenschaft ProgressState erwartet einen Wert aus der Enumeration System.Windows.Shell.TaskbarItemProgressState. Die folgenden Werte gibt es:
- None – Es wird kein Ladebalken angezeigt.
- Normal – Es wird ein normaler, grüner Ladebalken angezeigt.
- Paused – Es wird ein gelber Ladebalken angezeigt. Dieser ist für Pausen im Ladevorgang gedacht.
- Error – Es wird ein roter Ladebalken angezeigt. Dieser ist für Fehler gedacht.
- Indeterminate – Es wird ein durchlaufender, grüner Ladebalken angezeift. Dieser ist für Aktionen gedacht, bei denen der aktuelle Fortschritt nicht angezeigt werden kann.
lg SeriTools