.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
相关产品推荐
相关产品推荐

