系列目录

微信

1、【Xamarin.Forms 1】App的创建与运行

2、【Xamarin.Forms 2】App基础知识与App启动

知乎

1、【Xamarin.Forms 1】App的创建与运行

2、【Xamarin.Forms 2】App基础知识与App启动

博客园

1、【Xamarin.Forms 1】App的创建与运行

2、【Xamarin.Forms 2】App基础知识与App启动

CSDN

1、【Xamarin.Forms 1】App的创建与运行

2、【Xamarin.Forms 2】App基础知识与App启动

项目地址

1、GitHub:https://github.com/mzy666888/HelloXamarinFormsApp

2、Gitee:https://gitee.com/sesametechgroup/HelloXamarinFormsApp

引言

本篇文章将介绍Xamarin.FormsApp 各种页面类型。

开发环境

  1. Visual Studio 2019 16.6.2
  2. Xamarin.Forms 4.6.0.726
  3. Android 5.0 (API 级别21 - Lollipop)以上

正文

下面描述的所有页面类型都派生自Xamarin.Forms Page类。这些视觉对象占据全部或者大部分屏幕。Page对象表示ViewControlleriOSPage通用Windows平台中。在Android上,每个页面都占据屏幕Activity,但Xamarin.Forms页面并不是Activity对象。

Xamarin.Forms在开发中,使用到的各种页面类型主要包括:ContentPageMasterDetailPageNavigationPageTabbedPageCarouselPageTemplatedPage。这些页面在不同的使用场景中有不同的需求。

一、ContentPage页面

ContentPage是最简单且最常见的页面类型。将Content属性设置为一个View对象,该对象最常设置为Layout系列类型,如StackLayoutGrid或者ScrollView

二、MasterDetailPage页面

MasterDetailPage是管理两个信息窗体的页面类型。将Master属性设置为通常显示列表或菜单的页面。将Detail属性设置为显示母版页中选定项的页面。IsPresented属性控制主页面或详细信息页面是否可见。

我们在项目中添加一个MasterDetailPage页面,自动会添加三个页面:MasterDetailPage1.xamlMasterDetailPage1Detail.xaml``MasterDetailPage1Master.xaml和一个类:MasterDetailPage1MasterMenuItem.cs

其中MasterDetailPage1Detail.xaml(显示内容页面),MasterDetailPage1Master.xaml(显示菜单页面)为ContentPage类型的页面。

在真机上运行效果如下图(此图为两张图的合并后的图像,注意根据顶部内容进行区分)

三、NavigationPage页面

NavigationPage使用

NavigationPage使用基于堆栈的体系结构管理其他页面中的导航。在应用程序中使用页面导航时,主页的实例应传递给对象的构造函数NavigationPage

四、TabbedPage页面

TabbedPage派生自抽象MultiPage类,允许使用选项卡在子页面间导航。将Children属性设置为页的集合,或将属性设置ItemsSource为数据对象的集合,并将属性设置为ItemTemplate DataTemplate描述如何以可视方式标识每个对象的属性。

我们在项目中添加一个TabbedPage页面,系统默认生成的布局代码如下:

在真机上运行效果如下图:

五、CarouselPage页面

CarouselPage同样派生自抽象MultiPage类,允许通过手指轻扫在子页面之间导航。将Children属性设置为对象的集合ContentPage,或将属性设置ItemsSource为数据对象的集合,并将ItemTemplate属性设置为DataTemplate描述如何以直观方式表示每个对象的属性。

六、TemplatedPage页面

TemplatedPage使用控件模板显示全屏内容,时基于类ContentPage

可在添加->新建项中,选择Xamarin.Forms选择中看到部分可以添加的页面,对于没有出现的页面类型,可以添加一个ContentPage后进行修改成想要使用的类型。

加群讨论

参考文章:

【Xamarin.Forms 3】页面类型的更多相关文章

  1. Xamarin.Forms之页面及导航

    参考链接: Xamarin. Forms 页面 Xamarin.Forms 导航 Xamarin.Forms 第04局:页面 Xamarin.Forms页面代表跨平台的移动应用程序屏幕. 下文描述的所 ...

  2. xamarin.forms 绑定页面里指定元素的某个属性值

    {Binding Source={x:Reference elementName}, Path=BindingContext.propertyname, Mode=OneWay} elementNam ...

  3. 在 Xamarin.Forms 实现页面全屏显示

    NavigationPage.SetHasNavigationBar(this, false); 或者 <ContentPage ... NavigationPage.HasNavigation ...

  4. Xamarin.Forms入门-使用 Xamarin.Forms 来创建跨平台的用户界面

    Xamarin.Forms 是一个跨平台的.基于原生控件的UI工具包,开发人员可以轻松的创建适用于 Android,iOS 以及 Windows Phone的用户界面.Xamarin.Forms 通过 ...

  5. Xamarin.Forms之XAML

    官网参考 XAML基础知识 XAML(eXtensible Application Markup Language)可扩展应用程序标记语言,允许开发者在Xamarin.Forms应用中采用标记而不是代 ...

  6. Xamarin.Forms快速入门-深入探讨

    官网链接 项目介绍 以Notes项目为例,The Notes application consists of one solution containing four projects, as sho ...

  7. Xamarin.Forms: 无限滚动的ListView(懒加载方式)

    说明 在本博客中,学习如何在Xamarin.Forms应用程序中设计一个可扩展的无限滚动的ListView.这个无限滚动函数在默认的Xamarin.Forms不存在,因此我们需要为此添加插件.在这里我 ...

  8. xamarin.forms之page

    最近在使用xamarin.forms做APP开发,之前做过ios的应用,虽然没做过安卓,但之前也有一点了解,什么四大组件五大布局啥的,微软的xamarin.forms的文档也挺详细的,基本都是复制粘贴 ...

  9. C#使用Xamarin开发可移植移动应用(1.入门与Xamarin.Forms页面),附源码

    前言 什么是Xamarin? Xamarin始创于2011年,旨在使移动开发变得难以置信地迅捷和简单. Xamarin的产品简化了针对多种平台的应用开发,包括iOS.Android.Windows P ...

随机推荐

  1. Java 第十一届 蓝桥杯 省模拟赛 洁净数

    洁净数 小明非常不喜欢数字 2,包括那些数位上包含数字 2 的数.如果一个数的数位不包含数字 2,小明将它称为洁净数. 请问在整数 1 至 n 中,洁净数有多少个? 输入格式 输入的第一行包含一个整数 ...

  2. (Java实现) 车站

    题目描述 火车从始发站(称为第1站)开出,在始发站上车的人数为a,然后到达第2站,在第2站有人上.下车,但上.下车的人数相同,因此在第2站开出时(即在到达第3站之前)车上的人数保持为a人.从第3站起( ...

  3. Java实现 LeetCode 589 N叉树的前序遍历(遍历树)

    589. N叉树的前序遍历 给定一个 N 叉树,返回其节点值的前序遍历. 例如,给定一个 3叉树 : 返回其前序遍历: [1,3,5,6,2,4]. 说明: 递归法很简单,你可以使用迭代法完成此题吗? ...

  4. Java实现 蓝桥杯VIP 算法训练 开心的金明

    题目描述 金明今天很开心,家里购置的新房就要领钥匙了,新房里有一间他自己专用的很宽敞的房间.更让他高兴的是,妈妈昨天对他说:"你的房间需要购买哪些物品,怎么布置,你说了算,只要不超过NN元钱 ...

  5. Java实现 蓝桥杯VIP 算法训练 确定元音字母位置

    算法训练 确定元音字母位置 时间限制:1.0s 内存限制:512.0MB 输入一个字符串,编写程序输出该字符串中元音字母的首次出现位置,如果没有元音字母输出0.英语元音字母只有'a'.'e'.'i'. ...

  6. JavaScript实现html购物车代码

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  7. Java实现哥德巴赫猜想

    验证哥德巴赫猜想:任何一个大于 6 的偶数,都能分解成两个质数的和.要求输入一个整数,输出这个 数能被分解成哪两个质数的和. eg : 14 14=3+11 14=7+7 public class T ...

  8. java算法集训结果填空题练习2

    1 欧拉与鸡蛋 大数学家欧拉在集市上遇到了本村的两个农妇,每人跨着个空篮子.她们和欧拉打招呼说两人刚刚卖完了所有的鸡蛋. 欧拉随便问:"卖了多少鸡蛋呢?" 不料一个说:" ...

  9. java实现第七届蓝桥杯取球博弈

    题目9.取球博弈 取球博弈 两个人玩取球的游戏. 一共有N个球,每人轮流取球,每次可取集合{n1,n2,n3}中的任何一个数目. 如果无法继续取球,则游戏结束. 此时,持有奇数个球的一方获胜. 如果两 ...

  10. Github 创建SSH密钥克隆仓库详解

    1.登录Github主页,点击任意一个repository,点击Clone or download,点击Use SSH 2.点击add a new pulbic key,创建公钥 3.下面图中的Tit ...