Visual Studio 2010 Power Productivity Tools und Windows-7-Integration (Teil 2)
Kommentare

WPF: Windows-7-Integration
Vorschaufenster
Windows 7 blendet ein kleines Vorschaufenster ein, wenn die Maus über einen Eintrag in der Taskleiste bewegt wird. Dieses zeigt standardmäßig den Inhalt

WPF: Windows-7-Integration

Vorschaufenster

Windows 7 blendet ein kleines Vorschaufenster ein, wenn die Maus über einen Eintrag in der Taskleiste bewegt wird. Dieses zeigt standardmäßig den Inhalt des jeweiligen Fensters an. Um die Aufmerksamkeit der Anwender auf bestimmte Aspekte zu lenken, bietet WPF 4 die Möglichkeit, die Vorschau auf einen bestimmten Teil des Fensters zu beschränken. Dazu bietet die Klasse Window eine Eigenschaft TaskbarItemInfo an. Über diese kann ein ThumbnailClipMargin, der angibt, wie viel Platz neben den vier Rändern ausgeblendet werden soll, aktiviert werden. In Listing 1 wird beispielsweise festgelegt, dass 20 Pixel vom linken, 30 Pixel vom oberen, 200 Pixel vom unteren und 300 Pixel vom rechten Rand für die Vorschau weggeschnitten werden sollen.

Listing 1


    

        
            
        
            
    
  

Schaltflächen im Vorschaufenster (Thumbnail-Buttons)

Um eine Applikation zu bedienen, ohne sie in den Vordergrund zu holen, bietet Windows 7 die Möglichkeit, Schaltflächen im Vorschaufenster, zu platzieren. Um dieses Vorschaufenster anzupassen, wurde die Klasse Window in WPF 4 um eine Eigenschaft TaskbarItemInfo, die eine Instanz der gleichnamigen Klasse aufnimmt, erweitert. TaskbarItemInfo enthält unter anderem eine Auflistung ThumbButtonInfos, die Instanzen von ThumbButtonInfo aufnimmt. Jedes ThumbButtonInfo beschreibt dabei ein Button. Listing 2 demonstriert das. Die Eigenschaft DismissWhenClicked legt fest, ob bei Betätigung des Buttons das Vorschaufenster geschlossen werden soll. Die Eigenschaft Description definiert eine Beschreibung des Buttons; ImageSource den Pfad zum anzuzeigenden Symbol und Click die Ereignisbehandlungsroutine, die bei einem Klick aufgerufen werden soll. Dabei gilt zu beachten, dass Windows 7 lediglich bis zu sieben solcher Schaltflächen erlaubt.

Da die Aktionen, die sich hinter diesen Schaltflächen verbergen, häufig auch über andere Wege wie Schaltflächen in der Applikation, Menü- und Symbolleisten aufrufbar sein dürften, besteht alternativ zur Verwendung von Ereignisbehandlungsroutinen die Möglichkeit, über die Eigenschaft Command eine Implementierung von ICommand zu registrieren.

Listing 2


    
    
        
        
            
            
                
                
                
                    [...]

            
            
        
        
    
  

Symbole und Fortschrittsanzeige in der Taskleiste

Um den Anwender unaufdringlich über Ereignisse und Fortschritte zu informieren, bietet WPF 4 die Möglichkeit, das Symbol in der Taskliste mit einem anderen, kleineren Symbol zu überblenden, um den Benutzer auf bestimmte Sachverhalte aufmerksam zu machen. Das kann man durch das Setzen der Eigenschaft TaskberItemInfo.Overlay erreichen:

this.taskBarItemInfo.Overlay = 
          new BitmapImage(new Uri("img/infoSymbol.ico", UriKind.Relative));  

Neben Symbolen kann im Tasklisteneintrag auch eine Fortschrittsanzeige, die durch die Hintergrundfarbe repräsentiert wird, eingeblendet werden. Das folgende Snippet würde zum Beispiel festlegen, dass ein Fortschritt von 50 Prozent gemeldet werden soll:

this.taskBarItemInfo.ProgressValue = 0.5;
this.taskBarItemInfo.ProgressState = 
                System.Windows.Shell.TaskbarItemProgressState.Normal;  

Über den ProgressValue wird der aktuelle Fortschritt als Double zwischen 0 und 1 ausgedrückt, über den ProgressState der aktuelle Zustand der Abarbeitung. Normal bedeutet, dass alles fein ist und bewirkt eine grünliche Fortschrittsanzeige. Eine Pausierung wird mittels Paused angegeben. Dieser Umstand wird von Windows durch eine gelbliche Fortschrittsanzeige ausgedrückt. Im Fall eines Fehlers kann der ProgressState auf Error gesetzt werden. Das bewirkt eine rötliche Fortschrittsanzeige. Darüber hinaus kann mit dem Wert Indeterminate angegeben werden, dass eine Aufgabe gerade verrichtet wird, ohne dass über den aktuellen Fortschritt informiert wird. In diesem Fall wechselt die Schattierung immer wieder von links nach rechts und vice versa. Zu guter Letzt steht noch die Option None zur Verfügung, die die Fortschrittsanzeige in der Taskbar abschaltet.

Dr. Holger Schwichtenberg (MVP) und FH-Prof. Manfred Steyer arbeiten bei www.IT-Visions.de als Softwarearchitekten, Berater und Trainer für .NET-Technologien. Dabei unterstützen Sie zahlreiche Unternehmen beim Einsatz von .NET und entwickeln selbst in größeren Projekten. Sie haben zahlreiche Fachbücher geschrieben und gehören seit vielen Jahren zu den Speakern auf der BASTA!. Manfred Steyer ist zudem verantwortlich für den Fachbereich „Software Engineering“ der Studienrichtung „IT und Wirtschaftsinformatik“ an der FH CAMPUS 02 in Graz. Dr. Holger Schwichtenberg unterrichtet in Lehraufträgen an den Fachhochschulen Münster und Graz.
Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -