Silverlight 4 には、非同期の Completed イベントを持つカスタム サービス クラスがあります。Completed イベント内で、返されたデータを取得し、次のような方法で populate メソッドを呼び出します。
private void service_Completed(object sender, CompletedEventArgs args)
{
Dispatcher.BeginInvoke(() => populateInbox(args.Jobs));
}
private void populateInbox(List<JobViewModel> jobs)
{
inbox.DataContext = jobs;
}
SL4 で動作しますBeginInvoke
が、WPF に移植すると、次のエラーが発生します。
デリゲート型ではないため、ラムダ式を「System.Delegate」型に変換できません
私はそれをインラインの匿名のパラメータ化されたデリゲートに変更しようとしました:
Dispatcher.BeginInvoke(delegate(List<JobViewModel> jobs)
{
inbox.DataContext = jobs;
});
ただし、同じコンパイル時エラーが発生します。
これをWPFで動作させる方法はありますか? を使用するためのリファクタリングBackgroundWorker
は、私にとって選択肢ではありません。