Ciao a tutti,
io ho una applic WPF in C#.

al click di un pulsante l'app mi cancella un grande numero di dati e in base alla quantità l'utente deve attendere più o meno tempo.

Vorrei usare la classe Backgroundworker per far vedere la classica progressbar nel mentre delle operazioni di cancellazione.

codice pulsante:
codice:
private void Clear_click(object sender, RoutedEventArgs e)
        {
            File.Delete(Petroliera.Instances[0].NomeNaveCarico);
            Petroliera.Instances[0].Clear(); //Clear metodo che mi cancella ulteriori dati.
        }
codice della progressbar col backgroundworker:
codice:
BackgroundWorker BackgroundWorker = new BackgroundWorker();
            BackgroundWorker.WorkerReportsProgress = true;
            BackgroundWorker.DoWork += BackgroundWorker_DoWork;
            BackgroundWorker.ProgressChanged += BackgroundWorker_ProgressChanged;
            BackgroundWorker.RunWorkerAsync();
       
       
 
        private void BackgroundWorker_ProgressChanged(object sender, ProgressChangedEventArgs e)
        {
            progressBar1.Value = e.ProgressPercentage;
        }
 
        private void BackgroundWorker_DoWork(object sender, DoWorkEventArgs e)
        {
            for (int i=0; i<101; i++)
            {
                (sender as BackgroundWorker).ReportProgress(i);
                Thread.Sleep(50);
            }
 
                      
        }
il mio problema è come integrare le due cose per raggiungere il seguente scopo:
Al click del pulsante l'app fa le operazioni richieste nel click e intanto mi fa vedere la progressbar fino al termine delle operazioni.

grazie in anticipo