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

.NET MAUI Windows平台使用Navigation.PushAsync跳转页面时抛出「值不在预期范围内」异常的问题求助

.NET MAUI Windows平台使用Navigation.PushAsync跳转页面时抛出「值不在预期范围内」异常的问题求助

大家好,我最近在做.NET MAUI应用开发时遇到了一个跨平台兼容性问题,想请各位帮忙分析下:

我们的应用是个简单的登录跳转流程——主页面是Login页,登录验证通过后调用Navigation.PushAsync跳转到Menu页。这套逻辑在Android平台上跑完全没问题,但切换到Windows平台测试时,一执行跳转操作就抛出异常,错误提示是Value does not fall within the expected range。

我排查了一下,发现单独创建MenuPage的实例是正常的,只有调用PushAsync进行导航的时候才会触发这个错误,相关代码如下:

// 两种写法都试过,结果一致报错
//MenuPage mp = new MenuPage();
//await Navigation.PushAsync(mp);

await Navigation.PushAsync(new MenuPage());

更新:我把Menu页的代码逐行排查后,发现问题的根源好像是把Grid插入垂直栈布局的那一行。如果我注释掉vsl_menu_holder.Children.Insert(2, menu_grid)这行代码,页面就能正常加载了(只是没有Grid的内容)。

MenuPage的构造函数代码片段如下:

public MenuPage()
{
    InitializeComponent();
    Loaded += MenuPage_Loaded;

    Grid menu_grid = Globals.session.dcc_layouts.get_menu_grid(Globals.transa...

有没有朋友遇到过类似的情况?或者能帮我分析下为什么在Windows平台会出现这个问题吗?

备注:内容来源于stack exchange,提问作者BitWiseByteDumb

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.16 09:14:34