Kolumne XAML Expertise: WPF und Windows-Apps

XAML-Tipp: WPF: Status in der Taskbar anzeigen
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. In unserem Shop ist der Windows Developer ferner im Abonnement oder als Einzelheft erhältlich.

 

Schnell und überall: Datenzugriff mit Entity Framework Core 2.0

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

C# 7.0 – Neues im Detail

Christian Nagel (CN innovation)

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -