MAUI 中的AppShell 页面包含一个导航解决方案,提供两种导航功能:视图页面导航和路线导航。视图页面导航是系统为用户设置的一套系统菜单框架(系统、选项卡等),根导航主要用于后台代码导航(shell、导航等)。 )。
上一节介绍了如何导航视图页面。本节介绍实现APP导航的后台导航代码相关知识点。
请注意,该项目是根据上一节的项目代码完成的。
后台代码通过注册路由来完成页面跳转,如下所示。
APP页面跳转可以看作是一个后进先出的堆栈。下图显示了从左到右将MAUI 页面压入和弹出到堆栈的过程。
要实现代码隐藏导航,必须首先注册一个路由,然后调用Shell.Current.GoToAsync。
实现页面跳转。 1. 路线注册
打开您的MAUI 项目,打开AppShell.xaml.cs,然后在AppShell 构造函数中的InitializeComponent() 下添加以下路由注册代码。
路由.注册路由(
“首页01页”
,
typeof(首页01)
);
第一个参数
“首页01页”
:命名路线名称和各页面名称。我们建议该名称与相应的页面名称相同。您还可以添加路径(例如pages/home01page)。
第二个参数
typeof(首页01)
:定义的内容页面。 Home01Page 是内容页类。
2、执行命令实现页面跳转。结果是:
首页效果图:
渲染链接页面:
2.1.打开Pages/HomePage.xaml文件,给每个页面添加链接按钮和背景跳转代码,更改代码如下:
管理页面、用户页面、项目设置、数据管理、工作台和数据备份按钮均添加关联的点击事件,例如Clicked=\’User01PageBtnClicked\’。事件名称必须相同。后台代码类。定义的事件方法名称是一致的。 2.2. 打开Pages/HomePage.xaml.cs代码类文件,为每个按钮添加跳转代码。
关键代码:
等待
Shell.Current.GoToAsync
(
\’
用户01页面
\’
);
等待
:调用async方法,需要添加await,方法名前需要添加“async”。
Shell.Current.GoToAsync
:调用GoToAsync方法跳转到指定页面
用户01页面
:第一步注册的路线名称
2.3.打开Pages/User01Page.xaml文件,添加返回主页按钮和后台返回代码,更改代码如下:
返回上一个主页。下面两种方法效果是一样的。
等待Shell.Current.GoToAsync(\’.\’);
等待Shell.Current.Navigation.PopAsync();
如果您打开了多个链接页面,需要直接返回根页面(即直接返回首页),可以使用以下方法:
等待Shell.Current.Navigation.PopToRootAsync();
3、打开新页面时如何向新页面传递参数?
3.1. 添加打开新页面时传递的参数
传递URL参数等参数
等待Shell.Current.GoToAsync(\’Xm01Page userid=u001name=cici\’);
如果有多个参数,可以像URL 参数一样使用符号链接。
3.2. 使用包管理部署包:CommunityToolkit.Mvvm
3.3. 打开Xm01Page.xaml并更改代码如下。
3.4. 打开Xm01Page.xaml.cs并更改代码如下。
3.5. 单击链接时会发生什么:
本文和图片来自网络,不代表火豚游戏立场,如若侵权请联系我们删除:https://www.huotun.com/game/645892.html