Xamarin.Froms 第20局:导航

作者: dotNET之家 | 来源:发表于2019-02-19 06:03 被阅读3次

总目录


前言

本文介绍导航:
一、导航概述
二、传递数据
三、导航堆栈
四、导航栏

环境

1.Visual Studio 2017
2.Xamarin.Froms 4.0.0.62955-pre2
3.Android 4.4(API 19)或更高版本
4.约定:XF代表Xamarin.Forms

内容

一、导航概述

主要介绍页面之间的导航,即:NavigationPage。使用NavigationPage可以向前或向后导航页面。

从一页跳转到另一页,新的页面会置于顶层,原理如下图所示:

从一页返回到上一页,最顶层页面会先释放,原理如下图所示:

实现效果
实现方式

创建根页,即:用MainPage的实例作为参数实例化NavigationPage,并将NavigationPage的实例设为主页。这样才可以在页面中使用Navigation属性的导航方法。

1.Navigation属性:导航主要使用Navigation的方法,其定义如下图所示:

2.跳转到指定页:

  • PushAsync(Page page):跳转到指定页(page);
  • PushAsync(Page page,bool animated):跳转到指定页(page),animated是否带有动画效果,默认为true;

3.返回到上一页:

  • PopAsync():返回上一页;
  • PopAsync(bool animated):返回上一页,animated是否带有动画效果,默认为true;
  • PopToRootAsync():返回到根页;
  • PopToRootAsync(bool animated):返回到根页,animated是否带有动画效果,默认为true;

4.插入指定页

  • InsertPageBefore(Page page,Page before):在before页面之前插入page页;

5.移除指定页

  • RemovePage(Page page):移除指定页面;

6.导航堆栈:NavigationStack。

二、传递数据

页面之间传递数据有两种方法:

  • 通过页面构造函数传递数据
  • 通过BindingContext传递数据
实现效果
实现方式

三、导航堆栈

导航堆栈:通过Navigation的NavigationStack属性可以获取导航堆栈中的页面。

NavigationStack是IReadOnlyList<Page>类型,即:它是一个页面的集合,但是只读。可以通过Navigation的方法进行增删。

四、导航栏

导航栏:XF中所有的View都可以在Navigation的导航栏中显示。

实现效果
实现方式

可以在Navigation.TitleView中自定义导航栏。

1.NavigationPage.HasBackButton:是否显示返回按钮。
2.NavigationPage.HasNavigationBar:是否显示导航栏。

后语

下篇介绍消息中心,待续...


总目录

相关文章

网友评论

    本文标题:Xamarin.Froms 第20局:导航

    本文链接:https://www.haomeiwen.com/subject/guzzeqtx.html