Xamarin XAML语言教程基础语法篇大学霸
前  言
Xamarin是一个跨平台开发框架。它可以用来开发iOS、Android、Windows Phone和Mac的应用程序。使用Xamarin框架中的Forms子框架,用户可以一次性的开发多个平台的应用,如iOS、Android、Windows Phone,从而节省大量的开发时间。
在Xamarin.Forms中,用户可以直接使用XAML语言直接进行界面设计。这样,就可以将界面和逻辑代码分离,使得应用程序的结构更加清晰。为了满足大家的开发需求,本教程着眼于Xamarin.Forms开发,详细讲解XAML语言在界面设计中的使用。同时为了方便大家理解,我们为每个知识点都配以小实例。
1.学习所需的系统和软件
安装Windows 10操作系统
Xamarin 4.2.0.719
安装OS X 10.11
安装Xcode 8.0
 
目  录
第1章  XAML语言基础 1
1.1  XAML语言简介 1
1.2  创建XAML文件 1
1.2.1  使用Visual Studio创建XAML 1
1.2.2  使用Xamarin Studio创建XAML 6
1.3  XAML文件结构 11
1.4  解析XAML 11
1.5  对象元素的声明方式 13
1.5.1  包含属性的特性语法形式 13
1.5.2  对象元素语法形式 13
1.6  显示到界面 14
1.6.1  创建项目后再创建XAML文件 14
1.6.2  创建项目时创建XAML文件 15
1.7  XAML预览 15
1.7.1  Visual Studio中实现预览 15
1.7.2  Xamarin Studio中实现预览 17
第2章  属性和属性值 18
2.1  设置属性 18
2.1.1  使用属性语法设置属性 18
2.1.2  使用属性元素语法设置属性 19
2.2  附加属性 20
2.3  平台属性标签 21
2.4  内容属性 25
2.5  属性值 26
2.5.1  基本数据类型 26
2.5.2  Unicode字符 26
2.5.3  特殊字符 27
2.5.4  对齐方式 27
2.5.5  复杂类型 27
第3章  代码文件/XAML文件关联属性 29
3.1  x:属性 29
3.1.1  x:Name属性 29
3.1.2  传递参数——带参数的构造函数 30
3.1.3  传递参数——调用方法 33
3.1.4  定制视图 35
3.2  交互 37
3.2.1  事件 38
3.2.2  手势 41
第4章  XAML标记扩展 44
4.1  使用静态成员 44
4.1.1  自带类成员 44
4.1.2  自定义类成员 46
4.1.3  外部类成员 49
4.2  资源字典 50
4.2.1  资源字典定义的基本语法 51
4.2.2  资源项的定义 51
4.2.3  访问静态资源 53
4.2.4  OnPlatform资源 54
4.2.5  字典树 55
4.2.6  动态资源 58
4.3  约束标记扩展 60
4.4  其它标记扩展 63
4.5  自定义标记扩展 63
第5章  样式 72
5.1  基本样式 72
5.1.1  构建样式标签 73
5.1.2  构建样式属性 74
5.1.3  应用样式 76
5.1.4  样式属性使用方法 77
5.1.5  样式的使用规则 81
5.2  在代码中使用样式 83
5.3  样式的继承 88
5.3.1  在样式中定义一个父类类型 88
5.3.2  派生新样式 89
5.4  隐式样式 93
5.4.1  使用隐式样式 94
5.4.2  隐式样式的使用规则 95
5.5  动态样式 100
5.5.1  动态样式的实现 101
5.5.2  设备样式 109
第6章  数据绑定基础 114
6.1  绑定的实现 114
6.2  视图到视图绑定 114
6.2.1  正向绑定 114
6.2.2  反向绑定 117
6.2.3  混合绑定 120
6.2.4  数据转换 123
6.2.5  更新方式 128
6.3  绑定集合 137
第7章  MVVM 142
7.1  MVVM相互关系 142
7.2  数据绑定实现 143
7.3  数据交互 146
7.4  命令接口 151
 

Xamarin XAML语言教程基础语法篇大学霸的更多相关文章

  1. Xamarin XAML语言教程使用Visual Studio创建XAML

    Xamarin XAML语言教程使用Visual Studio创建XAML Xamarin.Forms允许开发人员通过XAML语法对程序的所有用户界面元素进行详细的定制,如文本.按钮.图像和列表框等. ...

  2. Xamarin XAML语言教程构建ControlTemplate控件模板 (四)

    Xamarin XAML语言教程构建ControlTemplate控件模板 (四) 2.在页面级别中构建控件模板 如果开发者要在页面级别中构建控件模板,首先必须将ResourceDictionary添 ...

  3. Xamarin XAML语言教程构建ControlTemplate控件模板

    Xamarin XAML语言教程构建ControlTemplate控件模板 控件模板ControlTemplate ControlTemplate是从Xamarin.Forms 2.1.0开始被引入的 ...

  4. Xamarin XAML语言教程基本页面ContentPage占用面积

    Xamarin XAML语言教程基本页面ContentPage占用面积 基本页面和基本视图都是在开发应用程序时最为常用的.本章将讲解有关基本页面ContentPag.基本视图ContentView.控 ...

  5. Xamarin XAML语言教程通过ProgressTo方法对进度条设置

    Xamarin XAML语言教程通过ProgressTo方法对进度条设置 在ProgressBar中定义了一个ProgressTo方法,此方法也可以用来对进度条当前的进行进行设置,ProgressTo ...

  6. Xamarin XAML语言教程使用属性设置进度条的当前进度

    Xamarin XAML语言教程使用属性设置进度条的当前进度 在图12.19~12.21中我们看到的是没有实现加载的进度条,即进度条的当前进度为0,如果开发者想要修改当前进度,可以使用两种方式:一种是 ...

  7. Xamarin XAML语言教程构建进度条ProgressBar

    Xamarin XAML语言教程构建进度条ProgressBar Xamarin XAML语言教程构建进度条ProgressBar,ProgressBar被称为进度条,它类似于没有滑块的滑块控件.进度 ...

  8. Xamarin XAML语言教程使用方法设置进度条进度

    Xamarin XAML语言教程使用方法设置进度条进度 在ProgressBar中定义了一个ProgressTo方法,此方法也可以用来对进度条当前的进行进行设置,ProgressTo与Progress ...

  9. Xamarin XAML语言教程Progress属性设置进度条进度

    Xamarin XAML语言教程Progress属性设置进度条进度 在图12.19~12.21中我们看到的是没有实现加载的进度条,即进度条的当前进度为0,如果开发者想要修改当前进度,可以使用两种方式: ...

随机推荐

  1. Linux 用户管理(一)

    一.基础知识介绍 用户 用户组的概念 每个文件和进程,都需要对应一个用户和用户组 linux 系统通过UID和 GID识别用户和组 用户名相当于人名(给人看) UID和GID相当于身份证(系统用的) ...

  2. Python基础(三)—— print()格式化输出变量

    先举一个简单的例子说明: name = 'Jack' answer = input('你好,%s '%(name) + '你认识 Sean 不, 输入 yes or no\n') print('Sea ...

  3. vscode设置让鼠标滚动改变字体大小

    打开settings.json文件 输入"editor.mouseWheelZoom": true, 这样比较方面,比默认的放大缩小来的快捷

  4. Eclipse设置C++自动补全变量名快捷键

    用快捷键:Alt+/ 要是还是有些场合不能提示,按照下列步骤 Window-Preferences-c/c++-Editor-Content Assist-Advanced 将未勾选的全部勾选

  5. Linux学习-登录档的轮替(logrotate)

    rsyslogd 利用的是 daemon 的方式来启动的, 当有需求的时候立刻就会被执行的,但是 logrotate 却是在规定的时间到了之后才来进行登录档的轮 替, 所以这个 logrotate 程 ...

  6. HDU 1561 The more, The Better(树形背包)

    The more, The Better Time Limit: 6000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Oth ...

  7. Python虚拟机之for循环控制流(二)

    Python虚拟机中的for循环控制流 在Python虚拟机之if控制流(一)这一章中,我们了解if控制流的字节码实现,在if控制结构中,虽然Python虚拟机会在不同的分支摇摆,但大体还是向前执行, ...

  8. edge浏览器识别ip地址为手机号的解决办法

    edge浏览器识别ip地址为手机号的解决办法 今天突然发现类似101.231.70.242的ip地址会在edge浏览器里面识别为可点击的链接,后来看了一下,原因就是被识别为手机号了,因为我发现点击的时 ...

  9. MySQL常见数据库引擎及比较?

    一:MySQL存储引擎简介 MySQL有多种存储引擎,每种存储引擎有各自的优缺点,大家可以择优选择使用:MyISAM.InnoDB.MERGE.MEMORY(HEAP).BDB(BerkeleyDB) ...

  10. TensorFlow——小练习:feed

    feed就是喂入数据 使用feed前必须要有占位符作为操作的对象,在运行操作的时候喂入数据. # _*_coding:utf-8_*_ import tensorflow as tf import n ...