public SynchronizeViewModel(TabSyncService syncService, MessageHub hub) { this.ProgressIndicator = new ProgressIndicator(); SystemTray.ProgressIndicator = this.ProgressIndicator; SyncService = syncService; SyncService.Progress += (sender, i) => { Progress = i; DownloadedTabs = SyncService.Downloaded; UploadedTabs = SyncService.Uploaded; }; SyncService.ProgressMessage += (sender, i) => SetProgressIndicator(!IsSyncNotRunning, i.GetMessage()); SyncService.Complete += (o, e) => { hub.RaiseTabsDownloaded(); hub.RaiseTabsRefreshed(); IsSyncNotRunning = true; SetProgressIndicator(true, String.Format( AppResources.Synchronize_TabProcessed, DownloadedTabs, UploadedTabs)); SystemTray.ProgressIndicator.IsIndeterminate = false; }; IsSyncNotRunning = true; }