学习笔记(Maui 10 无参导航)

学习笔记(Maui 10 无参导航)

DailyPoetryM 项目(对应 P19 P20 部分)

本节通过 DailyPoetryM 项目讲解导航服务

在这里插入图片描述

在 MVVM + IService 服务的框架中,导航服务显然需要在 Service 中实现。View 到 ViewModel 到 IService 均是单项依赖,导航需要 IService 控制 View,破坏了单项依赖。

导航的一般处理方式:

  • 导航需要参与导航的每一个页面都有唯一的字符串名字
  • 导航的一般形式:
    • navigateTo(string key, object parameter); // 带参数导航(key:导航目的地;parameter:参数)
    • navigateTo(string key); // 无参数导航

1 导航行为定义

软件包含两种导航:

  • 根导航,实现平行地位的一级页面(Flyout)间相互导航;
  • 内容导航,页面内操作造成一级页面向非一级页面的导航。

在中间库项目 DailyPoetryM.Library 的 Services 文件夹中增加接口 IServiceNavigationRoot,定义根导航行为。

public interface IServiceNavigationRoot
{
     Task NavigateToAsync(string pageKey);
     Task NavigateToAsync(string pageKey, object parameter);
}

在中间库项目 DailyPoetryM.Library 的 Services 文件夹中增加接口 IServiceNavigationContent,定义内容导航行为。

 public interface IServiceNavigationContent
 {
     Task NavigateToAsync(string pageKey);
     Task NavigateToAsync(string pageKey, object parameter);
 }

2 Maui 中的页面(Page)管理层次

Maui 采用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

sleevefisher

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值