Проблема: я работаю над калькулятором в качестве своего первого приложения MVVM и столкнулся с интересной проблемой, которую я хотел бы понять лучше. Моя проблема с новичком в том, что я пытаюсь прошить ...

0
Shuesh 6 Янв 2021 в 21:21

1 ответ

Лучший ответ

Пользовательский интерфейс будет обновлен только после завершения выполнения метода InvalidOperation, поэтому, поскольку в последней строке метода вы устанавливаете значение обратно в исходное значение - в пользовательском интерфейсе нет обновлений.

Асинхронный подход должен работать, потому что оператор await "приостановит" метод InvalidOperation и вернет выполнение в цикл сообщений, который обновит элементы управления пользовательского интерфейса.

public async Task InvalidOperation()
{
    tempDisplay = Display;
    Display = "Invalid Operation";
        
    await Task.Delay(2000);

    Display = tempDisplay;
}
0
Fabio 6 Янв 2021 в 18:54