Я разработал приложение Xamarin Forms, используя модель MVVMHelpers от Джеймса Монтенагро.Одна из моих страниц - это динамически созданная форма, созданная на основе XML-определения этой формы, загруженной в приложение.Затем приложение создает необходимые макеты и поля.
Когда приходит время для проверки формы, мое приложение проходит через различные элементы управления, созданные на странице, и проверяет входные данные в соответствии с определением формы, чтобы предъявить иск формебыло завершено правильно.Все это прекрасно работает и запускается командой «Сохранить».Проблема в том, что приложение занимает несколько секунд, в течение которых приложение выглядит не отвечающим.
Нет проблем, я подумал, просто добавьте
Acr.Userdialogs.Instance.Loading ("Подтверждение формы, пожалуйста, подождите")
, прежде чем я сделаю свою проверку для отображения индикатора активности,Однако я попробовал это и прочитал об этом, и, конечно, это не работает, так как моя проверка подлинности полностью выполняется в обработчике команд, а пользовательский интерфейс не обновляется.
Затем я попытался переместить свою функцию проверки впоток, использующий
await Task.Run (() => ValidateForm ());
, но это также не работает, поскольку поток должен получить доступ к различным элементам управления пользовательского интерфейса в представлении ине позволено, поскольку это не создавало их.Теперь я застрял.Как я могу отображать индикатор занятости, пока я зацикливаюсь на элементах пользовательского интерфейса, чтобы проверить их - нет смысла собирать все «ответы» из элементов формы в список и проверять их отдельно, поскольку это циклический просмотр элементов управления, которые я предполагаюзанимает время ...