Ich habe eine Methode, die Hintergrund-Thread erstellen, um etwas zu tun. In diesem Hintergrund Thread erstelle ich ein Objekt. Aber dieses Objekt beim Erstellen zur Laufzeit gibt mir eine Ausnahme:Wie kann ich WPF-Steuerelemente in einem Hintergrundthread erstellen?
Der aufrufende Thread muss STA sein, weil viele UI-Komponenten dies erfordern.
Ich weiß, dass ich Dispatcher verwenden muss, um etwas an UI zu reflektieren. Aber in diesem Fall erstelle ich nur ein Objekt und nicht iterieren mit UI. Das ist mein Code:
public void SomeMethod()
{
BackgroundWorker worker = new BackgroundWorker();
worker.DoWork += new DoWorkEventHandler(Background_Method);
worker.RunWorkerAsync();
}
void Background_Method(object sender, DoWorkEventArgs e)
{
TreeView tv = new TreeView();
}
Wie kann ich Objekte im Hintergrund Thread erstellen?
ich WPF-Anwendung
Noch eine Frage: ist es möglich, Hintergrund Worker-Methode einen Wert von bestimmten Typ zurückgeben? – Polaris
Überprüfen Sie die e.Result-Eigenschaft in der RunWorkerCompleted-Methode. http://msdn.microsoft.com/en-us/library/system.componentmodel.backgroundworker.aspx. – Amsakanna