I have a thread that call an object that get some stuff from Internet. When this object is filled up with all information required, it raises an event with an object will all th
I found the solution over this blog.
Instead of just calling the collection to add the object from the thread.
queriesViewModel.AddQuery(info);
I have to pass the main thread to the controller and use the dispatcher. Guard answer's was very close.
public delegate void MethodInvoker();
void ping_EventPingDone(object sender, QueryStatisticInformation info)
{
if (UIThread != null)
{
Dispatcher.FromThread(UIThread).Invoke((MethodInvoker)delegate
{
queriesViewModel.AddQuery(info);
}
, null);
}
else
{
queriesViewModel.AddQuery(info);
}
}