gpt4 book ai didi

c# - 界面无法更新

转载 作者:太空宇宙 更新时间:2023-11-03 17:03:24 26 4
gpt4 key购买 nike

我有一个需要几秒钟才能执行的资源密集型方法。因此,我决定在任务中调用它,以便在执行任务时显示等待图标。

我所做的是在创建任务之前调用imgLoading.Visibility = Visibility.Visible,然后创建任务。任务完成后,我将调用 imgLoading.Visibility = Visibility.Collapsed;

由于某种原因,图像永远不会折叠并无限期地保持可见。这是一个非常奇怪的问题,很容易重现。这是我得到的所有代码,我真的看不出我做错了什么:

imgLoading.Visibility = Visibility.Visible;

var validityTask = Task.Factory.StartNew(() => ExpensiveMethod(param1,param2));

validityTask.ContinueWith((previousTask) =>
{
bool isvalid = validityTask.Result;

if (isvalid)
{
//Do something to UI
}
else
{
//DO something to UI
}

imgLoading.Visibility = Visibility.Collapsed;

}, TaskScheduler.FromCurrentSynchronizationContext());

如代码所示,我试图在执行任务时显示 imgLoading 图像,并在任务完成时隐藏图标。使用当前代码,即使在任务完成后图标仍然可见。

我做错了什么?

最佳答案

一段时间后,我设法解决了这个问题。将此张贴在这里以防将来可能对某人有所帮助。我的问题是这个街区显然根本没有进入。解决方案是从任务中删除所有 UI 代码,并且有效:)

关于c# - 界面无法更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15006631/

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