Powershell GUI 和循环暂停

Powershell GUI & loop pauses

我想要的:我的 script/program(?) 按下按钮后执行操作,然后等待条件是否满足并显示剩余时间。

发生了什么:当我使用 'Start-Sleep' 时,它会暂停 GUI 并且直到最后一次显示所有文本时才显示剩余时间。

我试图在网上寻找一些东西,但没有找到。我尝试过 for、while 和 do-until 循环都以相同的方式运行。所以我希望有另一种暂停循环的方法。

这基本上是我正在使用的脚本:

$btn.add_click ({
    Foreach ($_ in $stuff)
    {
        #do stuff
        If ($x -eq $y)
        {
            $n = 30
            While ($n -gt 0)
            {
                $textbox.text += "$n seconds left`n"
                ###WAIT 1-5 SECOND(s)###
                $n --
            }
        }
    }
})

Here is a very comprehensive tutorial by @FoxDeploy 可以帮助您构建 WPF GUI,从而允许从 UI 触发命令而不冻结它。

我不在这里分享任何代码,因为代码实在是太多了。