【Xamarin.Forms 3】页面类型
系列目录
微信
2、【Xamarin.Forms 2】App基础知识与App启动
知乎
2、【Xamarin.Forms 2】App基础知识与App启动
博客园
2、【Xamarin.Forms 2】App基础知识与App启动
CSDN
2、【Xamarin.Forms 2】App基础知识与App启动
项目地址
1、GitHub:https://github.com/mzy666888/HelloXamarinFormsApp
2、Gitee:https://gitee.com/sesametechgroup/HelloXamarinFormsApp
引言
本篇文章将介绍Xamarin.Forms
中 App
各种页面类型。
开发环境
- Visual Studio 2019 16.6.2
- Xamarin.Forms 4.6.0.726
- Android 5.0 (API 级别21 - Lollipop)以上
正文
下面描述的所有页面类型都派生自Xamarin.Forms Page
类。这些视觉对象占据全部或者大部分屏幕。Page
对象表示ViewController
在iOS
和Page
通用Windows
平台中。在Android
上,每个页面都占据屏幕Activity
,但Xamarin.Forms
页面并不是Activity
对象。
Xamarin.Forms
在开发中,使用到的各种页面类型主要包括:ContentPage
,MasterDetailPage
,NavigationPage
,TabbedPage
,CarouselPage
,TemplatedPage
。这些页面在不同的使用场景中有不同的需求。
一、ContentPage
页面
ContentPage
是最简单且最常见的页面类型。将Content
属性设置为一个View
对象,该对象最常设置为Layout
系列类型,如StackLayout
,Grid
或者ScrollView
。
二、MasterDetailPage
页面
MasterDetailPage
是管理两个信息窗体的页面类型。将Master
属性设置为通常显示列表或菜单的页面。将Detail
属性设置为显示母版页中选定项的页面。IsPresented
属性控制主页面或详细信息页面是否可见。
我们在项目中添加一个MasterDetailPage
页面,自动会添加三个页面:MasterDetailPage1.xaml
,MasterDetailPage1Detail.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】页面类型的更多相关文章
- Xamarin.Forms之页面及导航
参考链接: Xamarin. Forms 页面 Xamarin.Forms 导航 Xamarin.Forms 第04局:页面 Xamarin.Forms页面代表跨平台的移动应用程序屏幕. 下文描述的所 ...
- xamarin.forms 绑定页面里指定元素的某个属性值
{Binding Source={x:Reference elementName}, Path=BindingContext.propertyname, Mode=OneWay} elementNam ...
- 在 Xamarin.Forms 实现页面全屏显示
NavigationPage.SetHasNavigationBar(this, false); 或者 <ContentPage ... NavigationPage.HasNavigation ...
- Xamarin.Forms入门-使用 Xamarin.Forms 来创建跨平台的用户界面
Xamarin.Forms 是一个跨平台的.基于原生控件的UI工具包,开发人员可以轻松的创建适用于 Android,iOS 以及 Windows Phone的用户界面.Xamarin.Forms 通过 ...
- Xamarin.Forms之XAML
官网参考 XAML基础知识 XAML(eXtensible Application Markup Language)可扩展应用程序标记语言,允许开发者在Xamarin.Forms应用中采用标记而不是代 ...
- Xamarin.Forms快速入门-深入探讨
官网链接 项目介绍 以Notes项目为例,The Notes application consists of one solution containing four projects, as sho ...
- Xamarin.Forms: 无限滚动的ListView(懒加载方式)
说明 在本博客中,学习如何在Xamarin.Forms应用程序中设计一个可扩展的无限滚动的ListView.这个无限滚动函数在默认的Xamarin.Forms不存在,因此我们需要为此添加插件.在这里我 ...
- xamarin.forms之page
最近在使用xamarin.forms做APP开发,之前做过ios的应用,虽然没做过安卓,但之前也有一点了解,什么四大组件五大布局啥的,微软的xamarin.forms的文档也挺详细的,基本都是复制粘贴 ...
- C#使用Xamarin开发可移植移动应用(1.入门与Xamarin.Forms页面),附源码
前言 什么是Xamarin? Xamarin始创于2011年,旨在使移动开发变得难以置信地迅捷和简单. Xamarin的产品简化了针对多种平台的应用开发,包括iOS.Android.Windows P ...
随机推荐
- Java 第十一届 蓝桥杯 省模拟赛 洁净数
洁净数 小明非常不喜欢数字 2,包括那些数位上包含数字 2 的数.如果一个数的数位不包含数字 2,小明将它称为洁净数. 请问在整数 1 至 n 中,洁净数有多少个? 输入格式 输入的第一行包含一个整数 ...
- (Java实现) 车站
题目描述 火车从始发站(称为第1站)开出,在始发站上车的人数为a,然后到达第2站,在第2站有人上.下车,但上.下车的人数相同,因此在第2站开出时(即在到达第3站之前)车上的人数保持为a人.从第3站起( ...
- Java实现 LeetCode 589 N叉树的前序遍历(遍历树)
589. N叉树的前序遍历 给定一个 N 叉树,返回其节点值的前序遍历. 例如,给定一个 3叉树 : 返回其前序遍历: [1,3,5,6,2,4]. 说明: 递归法很简单,你可以使用迭代法完成此题吗? ...
- Java实现 蓝桥杯VIP 算法训练 开心的金明
题目描述 金明今天很开心,家里购置的新房就要领钥匙了,新房里有一间他自己专用的很宽敞的房间.更让他高兴的是,妈妈昨天对他说:"你的房间需要购买哪些物品,怎么布置,你说了算,只要不超过NN元钱 ...
- Java实现 蓝桥杯VIP 算法训练 确定元音字母位置
算法训练 确定元音字母位置 时间限制:1.0s 内存限制:512.0MB 输入一个字符串,编写程序输出该字符串中元音字母的首次出现位置,如果没有元音字母输出0.英语元音字母只有'a'.'e'.'i'. ...
- JavaScript实现html购物车代码
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Java实现哥德巴赫猜想
验证哥德巴赫猜想:任何一个大于 6 的偶数,都能分解成两个质数的和.要求输入一个整数,输出这个 数能被分解成哪两个质数的和. eg : 14 14=3+11 14=7+7 public class T ...
- java算法集训结果填空题练习2
1 欧拉与鸡蛋 大数学家欧拉在集市上遇到了本村的两个农妇,每人跨着个空篮子.她们和欧拉打招呼说两人刚刚卖完了所有的鸡蛋. 欧拉随便问:"卖了多少鸡蛋呢?" 不料一个说:" ...
- java实现第七届蓝桥杯取球博弈
题目9.取球博弈 取球博弈 两个人玩取球的游戏. 一共有N个球,每人轮流取球,每次可取集合{n1,n2,n3}中的任何一个数目. 如果无法继续取球,则游戏结束. 此时,持有奇数个球的一方获胜. 如果两 ...
- Github 创建SSH密钥克隆仓库详解
1.登录Github主页,点击任意一个repository,点击Clone or download,点击Use SSH 2.点击add a new pulbic key,创建公钥 3.下面图中的Tit ...