Ich bin verrückt mit einem einfachen Code [WPF C#], in dem ich einen BackgroundWorker verwende, um die Grundoperationen zu automatisieren. Soll ich einen Inhalt zur Zwischenablage hinzufügen?BackgroundWorker und ClipBoard
Nach diesen Code in das Verfahren der Ausführung Background:
Clipboard.SetText (splitpermutation [i]);
bekomme ich einen Fehler, der den Thread erklärt STA sein muss, aber ich verstehe nicht, wie zu tun ist. hier mehr Code: (nicht alle)
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]);
[...]
}
}
Wo ist Dispatcher? Was ist das'? Ich kann es nicht finden. – codemann8
@ codemann8 In WPF hat jedes UI-Element einen Dispatcher - das war in Code hinter –
Ich habe keine Erfahrung in WPF, ich benutze ein Standard WinForms C# -Projekt ... Gibt es dort eine äquivalente Lösung? – codemann8