private void Job_ProgressChanged(CacheJob sender, ProgressChangedEventArgs args) { if (!Dispatcher.CheckAccess()) { Dispatcher.Invoke(() => Job_ProgressChanged(sender, args)); return; } progressBar.Value = args.Progress; }
//private void Job_Started(CacheJob sender, EventArgs args) //{ // if (!Dispatcher.CheckAccess()) // Dispatcher.Invoke(() => Job_Started(sender, args)); //} private void Job_Finished(CacheJob sender, EventArgs args) { if (!Dispatcher.CheckAccess()) { Dispatcher.Invoke(() => Job_Finished(sender, args)); return; } Destroy(); }
private void Job_LogAdded(CacheJob sender, string message) { if (!Dispatcher.CheckAccess()) { Dispatcher.Invoke(() => Job_LogAdded(sender, message)); return; } statusLabel.Content = message; }
public CacheJobUserControl(CacheJob job) { InitializeComponent(); Job = job; //bind events to control job.ProgressChanged += Job_ProgressChanged; job.Finished += Job_Finished; //job.Started += Job_Started; job.LogAdded += Job_LogAdded; }
/// <summary> /// Creates a new user control for the job and adds it to the stackpanel /// </summary> private void RegisterNewJob(CacheJob sender, EventArgs args) { if (!Dispatcher.CheckAccess()) { Dispatcher.Invoke(() => RegisterNewJob(sender, args)); return; } var userControl = new CacheJobUserControl(sender); jobsStackPanel.Children.Add(userControl); }