Kolumne XAML Expertise: WPF und Windows-Apps

XAML-Tipp: WPF: Status in der Taskbar anzeigen
Keine Kommentare

In der Kolumne „XAML Expertise“ präsentiert Gregor Biswanger nun schon seit fünf Jahren Top-How-tos zum Thema XAML. Einsteiger und fortgeschrittene XAML-Experten sollen hier durch geballtes Wissen gesättigt werden. Heute gibt es folgende Expertise: „WPF: Status in der Taskbar anzeigen“.

Die Taskbar hat sich mit Windows 7 optisch stark verändert. So wird z. B. ein aktives Programm wie eine Art transparenter Button visuell hervorgehoben. Dieser neuen Sicht ist auch Windows 10 treu geblieben. Einige Programme wie der Internet Explorer/Edge zeigen beim Herunterladen von Dateien einen grünen Fortschrittsbalken an. Auch eine kleine Vorschauansicht ist integriert, wenn man mit dem Mauszeiger für kurze Zeit über den geöffneten Programmicons stehen bleibt.

WPF: Status in der Taskbar anzeigen

Um von der eigenen WPF-Anwendung auf diese Taskbar zuzugreifen, musste man bei Windows 7 noch auf das Windows SDK zurückgreifen. Mittlerweile bietet WPF eine feste Integration zur Taskbar-Schnittstelle. Dazu hat sich die Window-Klasse um eine TaskbarItemInfo-Property erweitert. Wenn diese eine gültige TaskbarItemInfoInstanz erhält, kann man mit dem Programmcode auf die statische TaskbarItemInfo-Klasse aus System.Windows.Shell zugreifen. Dieser gibt man einen aktuellen Zustand und Fortschritt mit. Als Zustände gibt es Grün für normal, Rot für Error, Gelb für Paused und viele weitere. Der Fortschritt muss in Prozent als Double-Wert überreicht werden.

In Listing 1 wird gezeigt, wie in XAML eine TaskbarItemInfoInstanz innerhalb vom MainWindow erzeugt wird. Der direkte Zugriff erfolgt dann vom Programmcode, wie Listing 2 zeigt. Das Ändern der Daten via Data Binding ist ebenfalls möglich.

<Window
  x:Class="WpfTaskbarInfo.MainWindow"
  ...>
  <Window.TaskbarItemInfo>
    <TaskbarItemInfo />
  </Window.TaskbarItemInfo>
  <Grid>
...
Ende
var fortschrittInProzent = 0.3;

TaskbarItemInfo.ProgressState = TaskbarItemProgressState.Normal;
TaskbarItemInfo.ProgressValue = fortschrittInProzent;

 

Abb. 1: Status in der Taskbar anzeigen

Windows Developer

Windows DeveloperDieser Artikel ist im Windows Developer erschienen. Windows Developer informiert umfassend und herstellerneutral über neue Trends und Möglichkeiten der Software- und Systementwicklung rund um Microsoft-Technologien.

Natürlich können Sie den Windows Developer über den entwickler.kiosk auch digital im Browser oder auf Ihren Android- und iOS-Devices lesen. Außerdem ist der Windows Developer weiterhin als Print-Magazin im Abonnement erhältlich.

 

BASTA! 2020

Entity Framework Core 5.0: Das ist neu

mit Dr. Holger Schwichtenberg (www.IT-Visions.de/5Minds IT-Solutions)

Memory Ownership in C# und Rust

mit Rainer Stropek (timecockpit.com)

Softwarearchitektur nach COVID-19

mit Oliver Sturm (DevExpress)

Delphi Code Camp

Delphi Language Up-To-Date

mit Bernd Ua (Probucon)

TMS WEB Core training

mit Bruno Fierens (tmssoftware.com bvba)

Unsere Redaktion empfiehlt:

Relevante Beiträge

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu:
X
- Gib Deinen Standort ein -
- or -