<Window.TaskbarItemInfo>
<TaskbarItemInfo/>
</Window.TaskbarItemInfo>
eingefügt werden, direkt vor dem standartmäßigen
<Grid>
. Damit kann man nun auf TaskbarItemInfo
zugreifen. Das sieht dann z.B. folgendermaßen aus:public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
TaskbarItemInfo.ProgressState = System.Windows.Shell.TaskbarItemProgressState.Normal;
Loaded += MainWindow_Loaded;
}
void MainWindow_Loaded(object sender, RoutedEventArgs e)
{
TaskbarItemInfo.ProgressValue = 0.5;
}
}
Man kann nun auch verschiedene ProgressStates benutzen, dementsprechend verändert der Fortschrittsbalken seine Farbe. Ebenfalls kann man über
TaskbarItemInfo
auch ein Symbol in der Taskleiste festlegen.Will man all dies jedoch aus einem anderen Thread tun, so wird es nicht funktionieren. Warum das so ist erkläre ich in diesem Post. Hier nur schnell die Lösung dafür. Statt
TaskbarItemInfo.ProgressValue = 0.2
benutzt man einfach
Application.Current.Dispatcher.BeginInvoke(new Action(() =>
{
TaskbarItemInfo.ProgressValue = 0.2;
}));
Keine Kommentare:
Kommentar veröffentlichen