I have this code
public void BckGrwndWrkrInHst()
{
    var BWLoad = new BackgroundWorker()
    { WorkerReportsProgress = true };
    BWLoad.RunWorkerAsync();
    BWLoad.DoWork += Bwload_DoWork;
    BWLoad.ProgressChanged += Bwload_ProgressChanged;
}
and these three methods :
private void Bwload_ProgressChanged(object sender, ProgressChangedEventArgs e)
{
    LPrgrBar.Value = e.ProgressPercentage;
}
public void Bwload_DoWork(object sender, DoWorkEventArgs e)
{
    method(/* dnw what to do */);
}
public void method(string a , string b)
{
    //work to do 
}
And on the other window, I have two values a1 and b1.
I want to call the BckGrwndWrkrInHst() which calls the other three methods
and I want to return a1 and b1 in  the method(a1,b1). I don't know how to do this 
(application.current.mainwindow as mainwindow).BckGrwndWrkrHst();