You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MAUI中使用GoToAsync命令返回页面无动画的问题咨询

MAUI Shell返回导航无动画的原因及解决办法

问题原因

直接调用Shell.Current.GoToAsync("..")返回时无动画,核心原因是:

  • MAUI Shell的系统返回按钮/导航栏返回按钮是内部封装的后退逻辑,会自动识别后退导航上下文,触发对应的反向滑入动画;
  • 手动调用GoToAsync("..")时,默认未显式指定动画参数,Shell不会自动启用后退动画——虽然官方文档说明导航需用GoToAsync,但不同调用场景的默认参数行为有差异,手动返回时需要明确开启动画。

解决办法

在调用GoToAsync时,显式传递Animated参数为true,让Shell触发后退动画:

[RelayCommand]
Task Volver()
{
    return Shell.Current.GoToAsync("..", new Dictionary<string, object> { { "Animated", true } });
}

也可以使用NavigationParameters类传递参数,效果一致:

[RelayCommand]
Task Volver()
{
    var navParams = new NavigationParameters();
    navParams.Add("Animated", true);
    return Shell.Current.GoToAsync("..", navParams);
}

添加参数后,返回主页面时就会和系统返回按钮一样,触发从左侧滑入的动画。

内容的提问来源于stack exchange,提问作者Álvaro García

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 10:53:25