赛车网站开发,淄博网站建设及托管,湖州建设培训入口网站,金华网站建设公司招聘1.详情本章继续分享.NET MAUI中的路由#xff0c;这个概念依旧是在Prism里存在过的概念。如果使用过Prism框架的小伙伴使用该机制上手速度是非常快的。接下来一起来看看什么是路由。.NET 多平台应用 UI (.NET MAUI) Shell 包含基于 URI 的导航体验#xff0c;该体验使用路由导…1.详情本章继续分享.NET MAUI中的路由这个概念依旧是在Prism里存在过的概念。如果使用过Prism框架的小伙伴使用该机制上手速度是非常快的。接下来一起来看看什么是路由。.NET 多平台应用 UI (.NET MAUI) Shell 包含基于 URI 的导航体验该体验使用路由导航到应用中的任何页面而无需遵循设置的导航层次结构。此外它还能够向后导航不必访问导航堆栈上的所有页面。本次分享内容1.路由导航2.路由传值2.详细内容1路由导航这里分享一个基础的路由使用大致分为两步1.路由注册2.路由导航MainPage.xaml.cspublic partial class MainPage : ContentPage
{public MainPage()
{InitializeComponent();Routing.RegisterRoute(Page1,typeof(NewPage1));Routing.RegisterRoute(Page2, typeof(NewPage2));}private void BtnPage2_Clicked(object sender, EventArgs e)
{Shell.Current.GoToAsync(Page1);}private void BtnPage1_Clicked(object sender, EventArgs e)
{Shell.Current.GoToAsync(Page2);}
}NewPage2.xaml.cspublic partial class NewPage1 : ContentPage
{public NewPage1()
{InitializeComponent();
}private void BtnGoback_Clicked(object sender, EventArgs e)
{Shell.Current.GoToAsync(..);}
}2路由传值MainPage.xaml.cspublic partial class MainPage : ContentPage
{public MainPage()
{InitializeComponent();Routing.RegisterRoute(Page1,typeof(NewPage1));Routing.RegisterRoute(Page2, typeof(NewPage2));}private void BtnPage2_Clicked(object sender, EventArgs e)
{//参数封装var navigationParameter new Dictionarystring, object{{ TempMessage, yo juster! }};//第一个参数路由名称第二个参数参数内容Shell.Current.GoToAsync(Page1, navigationParameter);}private void BtnPage1_Clicked(object sender, EventArgs e)
{Shell.Current.GoToAsync(Page2);}
}NewPage1.xaml.cs//需要继承IQueryAttributable接口然后实现接收参数的方法
public partial class NewPage1 : ContentPage , IQueryAttributable
{public NewPage1()
{InitializeComponent();
}private void BtnGoback_Clicked(object sender, EventArgs e)
{Shell.Current.GoToAsync(..);}//接收参数实现public void ApplyQueryAttributes(IDictionarystring, object query)
{//通过我们在MainPage封装好的参数字典。var msg query[TempMessage].ToString();DisplayAlert(Message,msg,ok);
}
}ref: https://docs.microsoft.com/zh-cn/dotnet/maui/fundamentals/shell/navigation