TargetParameterCountException in WPF

本文关键字:WPF in TargetParameterCountException | 更新日期: 2023-09-27 17:50:38

TargetParameterCountException:参数计数不匹配。

这是怎么回事?

方法完成后,抛出此错误。

我已经尝试了一些其他的话题,但我的情况不同。

什么线索吗?

我正在使用这个Dispatcher,因为我有一个跨线程问题。

void backgroundWorker_DoWork(object sender, DoWorkEventArgs e)
{
    if (backgroundWorker.CancellationPending == true)
    {
        e.Cancel = true;
        return;
    }
    e.Result = ...;
    Dispatcher.BeginInvoke(DispatcherPriority.Normal,
        (RunWorkerCompletedEventHandler)delegate
        {
            image1.Source = (BitmapImage)e.Result;
        });
}

TargetParameterCountException in WPF

RunWorkerCompletedEventHandler委托需要参数,您没有提供(或使用),您可以将其更改为Action:

Application.Current.Dispatcher.BeginInvoke(DispatcherPriority.Normal, (Action)delegate
{
    image1.Source = (BitmapImage)e.Result;
});

如果你必须使用RunWorkerCompletedEventHandler(这是毫无意义的),你可以调用相应的BeginInvoke重载,并提供两个对象的空数组,代表发送者和事件参数:

Application.Current.Dispatcher.BeginInvoke((RunWorkerCompletedEventHandler)delegate
{
    image1.Source = (BitmapImage)e.Result;
}, DispatcherPriority.Normal, new object[2]);