Visual Studio 2022调试Xamarin.Forms如何显示其他XAML页面
Xamarin.Forms调试时指定显示目标页面的操作方法
Xamarin.Forms 应用启动时默认加载的页面由App.xaml.cs中的启动配置决定,新增XAML页面后不会自动成为启动页,不管是实体机还是模拟器调试,按以下方法调整即可显示指定页面:
- 永久修改默认启动页
打开共享项目根目录下的App.xaml.cs文件,找到类构造函数中为MainPage属性赋值的代码,将原本实例化首个页面的代码替换为目标页面的实例即可。假设你新建的菜单功能页面类名为MenuPage,修改后的核心代码如下:
修改完成后重新生成项目,部署到实体机/模拟器启动后就会直接显示目标页面。public App() { InitializeComponent(); // 替换为你需要显示的目标页面实例 MainPage = new MenuPage(); } - 临时调试指定页面(不改动正式启动逻辑)
如果只是临时查看第二个页面的开发效果,不想改动正式环境的启动配置,可以用条件编译标记,仅在Debug调试模式下加载目标测试页,Release正式打包时自动恢复默认启动页,示例代码:public App() { InitializeComponent(); #if DEBUG // 调试阶段加载待测试的菜单页 MainPage = new MenuPage(); #else // 正式环境加载默认首页 MainPage = new MainPage(); #endif }
特殊场景适配说明:
- 如果你使用
NavigationPage作为导航容器,要将传入导航页构造函数的根页面替换为目标页,写法为MainPage = new NavigationPage(new MenuPage());- 如果你使用Xamarin.Forms Shell框架,需要打开
AppShell.xaml调整ShellContent节点顺序,把要显示的目标页放在第一个节点位置,或者修改启动路由配置指向目标页- 如果修改后部署仍显示旧页面,先执行Visual Studio菜单栏的「生成 - 清理解决方案」,再重新生成部署;实体机调试可以先卸载手机上已安装的旧测试包,避免缓存导致改动不生效。
内容的提问来源于stack exchange,提问作者goku
相关产品推荐
相关产品推荐

