gpt4 book ai didi

c# - WPF Dispatcher Invoke 返回值始终为 null

转载 作者:太空狗 更新时间:2023-10-29 20:57:53 25 4
gpt4 key购买 nike

我调用了一个返回 UIElement 的方法,我使用 Dispatcher 调用它,下面是代码。

但是 Dispatcher 调用的返回值总是 NULL,有什么想法吗?

void backgroundWorker_DoWork(object sender, DoWorkEventArgs e)
{
var slides = (IList<UIElement>)e.Argument;
var bmpSlides = new List<UIElement>();
var imageService = new ImageService();
int count = 0;

foreach (UIElement slide in slides)
{
object retVal = slide.Dispatcher.Invoke(
new ThreadStart(() => imageService.GenerateProxyImage(slide)));
bmpSlides.Add(imageService.GenerateProxyImage(slide));
_backgroundWorker.ReportProgress(count / 100 * slides.Count);
count++;
}

e.Result = bmpSlides;
}

最佳答案

哦,这是做你想做的事情的方法:

object retVal;
slide.Dispatcher.Invoke(new Action(() => retval = imageService.GenerateProxyImage(slide)));

编辑: ThreadStart 让我失望了——这不是多线程的。你想用这个代码示例完成什么??

关于c# - WPF Dispatcher Invoke 返回值始终为 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1394028/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com