MAUI中DXpopup加载指示器在无Task分页场景下的显示异常问题
页面切换时加载指示器异常问题
我尝试了多种解决方案,使用Task.Run(()=>)能实现需求,但不使用Task时会出现UI冻结,且加载指示器(spinner)仅在页面切换前才显示。现有两个代码示例,第一个可正常运行,但并非所有页面跳转操作都需要依赖Task,我希望第二个示例也能像第一个一样正常工作。
可行示例:
if (IsBusy) return; Platforms.KeyboardHelper.HideKeyboard(); GlobalConstants.costantSpinner.Show(); try { GlobalVariables._loginDTO = await Task.Run(() => /*页面切换前的操作*/); await Shell.Current.GoToAsync("somePage"); } catch (Exception ex) {/* 显示异常信息 */ } finally { IsBusy = false; GlobalConstants.costantSpinner.IsOpen = false; }
该示例在页面切换前存在操作时可完美运行。
不可行示例:
if (IsBusy) return; GlobalConstants.costantSpinner.Show(); try { IsBusy = true; await Shell.Current.GoToAsync(/*目标页面*/); } catch (Exception ex) {/* 显示异常信息 */} finally { IsBusy = false; GlobalConstants.costantSpinner.IsOpen = false; }
内容的提问来源于stack exchange,提问作者Buğra Kaan Sağlam
相关产品推荐
相关产品推荐

