Я пытаюсь перебрать текст в текстовом поле за словом, чтобы проверить его по буквам. Я разбил содержимое текстового поля на массив, перебрал каждое слово в массиве и провел его через проверку орфографии. Когда орфографическая ошибка найдена, у меня появляется всплывающее окно со списком внутри, так что вы можете выбрать коррекцию.
Проблема, с которой я столкнулся, заключается в том, что она просто перебирает весь массив и в итоге показывает только последнее исправление, которое необходимо сделать.
Как сделать паузу в цикле, чтобы он ожидал выбора, а затем возобновил его?
Вот код для цикла:
foreach(string checkedWord in articleWords)
{
bool success = _spellChecker.CheckWord(checkedWord);
List<string> suggest;
if (!success)
{
suggest = _spellChecker.GetSuggestions(checkedWord);
SpellChecklistBox.Items.Clear();
foreach (string s in suggest)
{
SpellChecklistBox.Items.Add(new ListBoxItem() { Content = s });
}
SpellCheckerPopup.IsOpen = true;
SpellChecklistBox.Items.Add(new ListBoxItem() { Content = " ----------------------" });
SpellChecklistBox.Items.Add(new ListBoxItem() { Content = "Ignore" });
}
}
Когда отображается SpellCheckerPopup, у меня есть триггер события в списке на SelectionChange.
По сути, мне нужно как-то приостановить цикл, а затем, когда событие SelectionChange делает свое дело, возобновить цикл.
Заранее спасибо!
-Sootah