In Silverlight 4 I have a custom service class which has an asynchronous Completed event. Inside the Completed event I take the returned data and invoke a populate method via something like this:
private void service_Completed(object sender, CompletedEventArgs args)
{
Dispatcher.BeginInvoke(() => populateInbox(args.Jobs));
}
private void populateInbox(List<JobViewModel> jobs)
{
inbox.DataContext = jobs;
}
The BeginInvoke
works in SL4, however when I ported it to WPF I get the following error:
Cannot convert lambda expression to type 'System.Delegate' because it is not a delegate type
I tried changing it to an in-line, anonymous, paramaterized delegate:
Dispatcher.BeginInvoke(delegate(List<JobViewModel> jobs)
{
inbox.DataContext = jobs;
});
However, that yields the same compile-time error.
Any idea how to get this to work in WPF? Refactoring to use the BackgroundWorker
is not an option for me.