我正在尝试在单独的线程中运行 for 循环,以便 UI 应该是响应式的并且进度条是可见的。
问题是我不知道该怎么做:)。在这段代码中,进程在单独的线程中开始,但代码的下一部分同时执行。messageBox 被显示并且结果永远不会被返回(例如列表框的 selected index 属性永远不会被设置)。
即使我使用“taskEx.delay()”,它也不起作用。
            TaskEx.Run(() =>
                {
                    for (int i = 0; i < sResults.Count(); i++)
                    {
                        if (sResults.ElementAt(i).DisplayIndexForSearchListBox.Trim().Contains(ayaStr))
                        {
                            lstGoto.SelectedIndex = i;
                            lstGoto_SelectionChanged(lstReadingSearchResults, null);
                            IsIndexMatched = true;
                            break;
                        }
                    }
                });
        //TaskEx.delay(1000);
        if (IsIndexMatched == true)
            stkPanelGoto.Visibility = Visibility.Collapsed;
        else //the index didn't match
        {
            MessagePrompt.ShowMessage("The test'" + ayaStr + "' does not exist.", "Warning!");
        }
谁能告诉我如何使用带有“for”或“foreach”循环的多线程?