Changement WPF mainwindow étiquette à partir d'une autre classe et thread séparé

Je travaille sur une application WPF. J'ai un label nommé "Status_label" dans MainWindow.xaml. et je veux en changer le contenu d'une classe différente (signIn.cs).
Normalement, je suis capable de faire ce

var mainWin = Application.Current.Windows.Cast<Window>().FirstOrDefault(window => window is MainWindow) as MainWindow;
mainWin.status_lable.Content = "Irantha signed in";

Mais mon problème est que quand j'essaye d'accéder via un thread différent dans signIn.cs de la classe, il donne une erreur:

The calling thread cannot access this object because a different thread owns it.

Puis-je résoudre ce problème en utilisant Dispatcher.Invoke(new Action(() =>{.......... ou autre chose?

EDIT:
Je vais appeler ce changement sur l'étiquette de l'action à partir d'une autre classe que-bien-comme thread séparé

MainWindow.xaml

<Label HorizontalAlignment="Left" Margin="14,312,0,0" Name="status_lable" Width="361"/>

SignIn.cs

    internal void getStudentAttendence()
    {
        Thread captureFingerPrints = new Thread(startCapturing);
        captureFingerPrints.Start();
    }

void mySeparateThreadMethod()
{
    var mainWin = Application.Current.Windows.Cast<Window>().FirstOrDefault(window => window is MainWindow) as MainWindow;
    mainWin.status_lable.Dispatcher.Invoke(new Action(()=> mainWin.status_lable.Content ="Irantha signed in"));
}

ligne var mainWin retour d'erreurThe calling thread cannot access this object because a different thread owns it.

Merci de me guider,

Merci

Pourquoi ceci est-voté?
Peut-être, parce que cette question a été répondu à une hundered fois. Certains "googler" serait de vous fournir une solution adéquate.

OriginalL'auteur iJay | 2013-03-15