Ich weiß, dass das Thema Invoke schon bis zum Erbrechen durchexerziert wurde und ich habe auch die Suche schon ordentlich bemüht. Leider übersehe ich scheinbar bei jedem Lösungsansatz eine Kleinigkeit oder ich habe ein exotischeres Problem als ich vermute.
Ich habe im Prinzip den Standard- Invoke Fall:
Ein eigenständiger Thread erstellt bei mir in einer Funktion ein Stackpanel und sendet dieses verpackt in einem Event an meine GUI.
Meine GUI fängt dieses Event ab und soll dann das StackPanel einer ListBox hinzufügen.
Inklusive Invoke kommt dann folgender Code zustande:
public partial class Window1
{ [...]
private delegate void ItemReceivedDelegate(object sender, ListItemEventArgs e);
void tracker_ListItemReceived(object sender, ListItemEventArgs e)
{
if(ListBoxTracker.Dispatcher.CheckAccess())
{
ListBoxTracker.Items.Add(e.Panel);
ListBoxTracker.Items.Refresh();
}
else
{
ListBoxTracker.Dispatcher.Invoke(new ItemReceivedDelegate(tracker_ListItemReceived),
sender,
e);
return;
}
}
[...]
}
Nun bekomme ich jedoch trotz allem eine TargetInvocationException. Mit Invoke habe ich bisher keine Erfahrungen gemacht (zumindest keine tiefergehenden). Kann es sein, dass ich irgendwo in diesem Code eine Kleinigkeit übersehen habe?
Ich hoffe ihr könnt mir weiterhelfen, der Google- Suchmarathon konnte es leider nicht...
Achso:
Ein ähnliches Thema ist schon einmal unbeantwortet geblieben (LINK)
Vielen Dank für die Bemühungen schonmal im Voraus,
MOnsDaR