Мне нужно окрасить границу выбранного(RadioButton) ответа зеленым или красным в зависимости правильный ответ или нет. Пользователь выбирает ответ, жмет кнопку "далее" и его ответ должен подкраситься красным или зеленым, по истечению 3 секунд должен загрузиться следующий вопрос. Все работает кроме подкраски границ выбранного ответа. Как я понимаю это происходит из-за того что я усыпляю поток до того как обновляется UI. Как я могу решить эту проблему?
Вот код:
private void NextButton_Click(object sender, RoutedEventArgs e) //Событие на кнопку "Далее"
{
if (SelectedUserAnswer.Content.ToString() == CorrectAnswer)
{
CorectAnswersCounter++;
SelectedUserAnswer.BorderBrush = new SolidColorBrush(Colors.Green);
}
else
{
SelectedUserAnswer.BorderBrush = new SolidColorBrush(Colors.Red);
}
Thread.Sleep(3000);
SelectedUserAnswer.BorderBrush = new SolidColorBrush(Colors.White);
LoadNextQuest(); //Здесь заполняю контролы данными из следующего вопроса
CurrentQuest++;
}
async void NextButton_ClickAsync, то используйте её и заменитеThread.Sleepнаawait Task.Delay, кажется этого должно сработать. – CrazyElf Oct 23 '22 at 10:14Threadтоже забывайте. – EvgeniyZ Oct 23 '22 at 10:34на вопросы, которых здесь нет- ошибаетесь, зуб тоже можно удалить по-разному, стукнуть молотком допустим, или сходить к врачу, два варианта решения задачи, только первое имеет последствия, а второе более проверенное и правильное решение. Вот я вам посоветовал "врача", а вы используете "молоток" отмахиваясь некими "обстоятельствами". – EvgeniyZ Oct 23 '22 at 13:29подали "молоток"- не забывайте, что вы не один на это сайте, вам не надо, а другим надо, почему это надо - я пояснил. – EvgeniyZ Oct 23 '22 at 14:34