在 Silverlight 4 中,我有一个自定义服务类,它有一个异步 Completed 事件。在 Completed 事件中,我获取返回的数据并通过以下方式调用填充方法:
private void service_Completed(object sender, CompletedEventArgs args)
{
Dispatcher.BeginInvoke(() => populateInbox(args.Jobs));
}
private void populateInbox(List<JobViewModel> jobs)
{
inbox.DataContext = jobs;
}
在BeginInvoke
SL4 中工作,但是当我将它移植到 WPF 时,我收到以下错误:
无法将 lambda 表达式转换为类型“System.Delegate”,因为它不是委托类型
我尝试将其更改为内联、匿名、参数化的委托:
Dispatcher.BeginInvoke(delegate(List<JobViewModel> jobs)
{
inbox.DataContext = jobs;
});
但是,这会产生相同的编译时错误。
知道如何让它在 WPF 中工作吗?重构以使用BackgroundWorker
对我来说不是一个选项。