Ho un metodo che crea thread in background per fare qualche azione. In questo thread in background creo l'oggetto. Ma questo oggetto durante la creazione in runtime mi dà un'eccezione:Come posso creare i controlli WPF in un thread in background?
Il thread chiamante deve essere STA, perché molti componenti dell'interfaccia utente richiedono questo.
So che devo usare Dispatcher per far riflettere qualcosa all'interfaccia utente. Ma in questo caso creo solo un oggetto e non lo faccio con l'interfaccia utente. Questo è il mio codice:
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();
}
Come posso creare oggetti nel thread in background?
Ho usare l'applicazione WPF
Un'altra domanda: è possibile che il metodo Background Worker restituisca un valore di tipo specifico? – Polaris
controlla la proprietà e.Result nel metodo RunWorkerCompleted. http://msdn.microsoft.com/en-us/library/system.componentmodel.backgroundworker.aspx. – Amsakanna