Danke für die Antwort!
Nur weiß ich nicht genau, wie ich von dem Main-Thread auf die Login-Seite zugreifen kann:
Also: Es gibt ein Hauptwindow und in diesem wird dann die Login-Page eingebunden.
Wie kann ich jetzt von dem Hauptwindow auf diese untere Page zugreifen?
Die Invoke Methode habe ich nicht in meiner login-Page, noch in sonstigen controls gefunden und dann bin ich im Internet auf Dispatcher gekommen,
nur ladet jetzt die Anwendung ewig und friert ein weil jetzt das f.anmelden(...) gar nicht mehr aufgerufen wird.
Das "threadlaeuft = false;" wird in der f.anmelden(...)-Methode gesetzt, da beim Invoke nur ein Befehl ausgeführt werden darf.
Da aber dank der Dispatcher.Invoke die Methode gar nicht erst gestartet wird und somit kein
"threadlaeuft = false;" stattfindet, läuft der
while (threadlaeuft)
{
Thread.Sleep(100);
}
immer weiter und somit passiert nichts und die GUI friert ein!
Mein Code (bei beiden das Gleiche Problem):
var worker = new BackgroundWorker();
worker.DoWork += (x,y) =>
{
Dispatcher.Invoke( new Action( () => f.anmelden(username.Text,pw.Text,this)
));
};
worker.RunWorkerAsync();
Task.Factory.StartNew(() => {
Dispatcher.Invoke(new Action(() => f.anmelden(username.Text,pw.Text,this)));
});