【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实现 蓝桥杯VIP 基础练习 报时助手
题目描述 给定当前的时间,请用英文的读法将它读出来. 时间用时h和分m表示,在英文的读法中,读一个时间的方法是: 如果m为0,则将时读出来,然后加上"o'clock",如3:00读 ...
- Java实现 蓝桥杯VIP 算法训练 新生舞会
问题描述 新生舞会开始了.n名新生每人有三个属性:姓名.学号.性别.其中,姓名用长度不超过20的仅由大小写字母构成的字符串表示,学号用长度不超过10的仅由数字构成的字符串表示,性别用一个大写字符'F' ...
- Java实现 蓝桥杯VIP 算法提高 勾股数
算法提高 勾股数 时间限制:1.0s 内存限制:256.0MB 问题描述 勾股数是一组三个自然数,a < b < c,以这三个数为三角形的三条边能够形成一个直角三角形 输出所有a + b ...
- Java实现 蓝桥杯VIP 算法提高 分数统计
算法提高 分数统计 时间限制:1.0s 内存限制:512.0MB 问题描述 2016.4.5已更新此题,此前的程序需要重新提交. 问题描述 给定一个百分制成绩T,将其划分为如下五个等级之一: 9010 ...
- Java实现第十届蓝桥杯最大降雨量
试题 E: 最大降雨量 本题总分:15 分 [问题描述] 由于沙之国长年干旱,法师小明准备施展自己的一个神秘法术来求雨. 这个法术需要用到他手中的 49 张法术符,上面分别写着 1 至 49 这 49 ...
- Python基础语法之“print()”函数
print()函数是Python入门的第一个必学知识点,它经常被用来调试已写的代码,检验效果,今天小老鼠就带你盘点一下print()函数在Python中如何使用. print()函数的工作流程是这样的 ...
- Postsharp简单试用——在业务逻辑类上添加日志记录
1.首先添加PostSharp引用 2.添加特性(Attribute)类 [Serializable] [AttributeUsage(AttributeTargets.Method, AllowMu ...
- 机器学习——手把手教你用Python实现回归树模型
本文始发于个人公众号:TechFlow,原创不易,求个关注 今天这篇是机器学习专题的第24篇文章,我们来聊聊回归树模型. 所谓的回归树模型其实就是用树形模型来解决回归问题,树模型当中最经典的自然还是决 ...
- MySQL连接查询驱动表被驱动表以及性能优化
准备我们需要的表结构和数据 两张表 studnet(学生)表和score(成绩)表, 创建表的SQL语句如下 CREATE TABLE `student` ( `id` int(11) NOT NUL ...
- turtle 画国旗
代码实现: import turtle import time import os def draw_square(org_x, org_y, x, y): turtle.setpos(org_x, ...