Sto impazzendo con un semplice codice [WPF C#] in cui utilizzo un BackgroundWorker per automatizzare le operazioni di base. Dovrei aggiungere un contenuto negli appunti.BackgroundWorker e ClipBoard
Dopo l'esecuzione di questo codice nel metodo della BackgroundWorker:
Clipboard.SetText (splitpermutation [i]);
ottengo un errore che spiega il filo deve essere STA, ma non capisco come fare. Qui più codice: (non tutti)
private readonly BackgroundWorker worker = new BackgroundWorker();
private void btnAvvia_Click(object sender, RoutedEventArgs e)
{
count = lstview.Items.Count;
startY = Convert.ToInt32(txtY.Text);
startX = Convert.ToInt32(txtX.Text);
finalY = Convert.ToInt32(txtFinalPositionY.Text);
finalX = Convert.ToInt32(txtFinalPositionX.Text);
incremento = Convert.ToInt32(txtIncremento.Text);
pausa = Convert.ToInt32(txtPausa.Text);
worker.WorkerSupportsCancellation = true;
worker.RunWorkerAsync();
...
}
private void WorkFunction(object sender, DoWorkEventArgs e)
{
[...]
if (worker.CancellationPending)
{
e.Cancel = true;
break;
}
else
{
[...]
Clipboard.SetText(splitpermutation[i]);
[...]
}
}
Dov'è il Dispatcher? Cos'è questo'? Non riesco a trovarlo. – codemann8
@ codemann8 In WPF, ogni elemento dell'interfaccia utente ha un Dispatcher - questo era in codice dietro –
Non ho alcuna esperienza in WPF, sto usando un progetto C# WinForms standard ... Esiste una soluzione equivalente lì? – codemann8