大家好,我又悄咪咪的来了,在上一篇的Xamarin文章中简单介绍了Xamarin的安装过程,妈蛋没想到很多小朋友很感激我,让他们成功的安装了Xamarin,然后。。。。。。成功的显示了经典的两个单词(别问我那两个经典的单词是什么,我用周易进行了推断,大概是“Hello world!”,233333333,我太屌了!),对了这里再补充一个,貌似微软的模拟器不能用,我用的是真机进行调试。当然相信大家这段时间在园子里或者其他地方找到了许多的Xamarin的学习之道,在上一篇的文章中张善友大神也希望能从Android和IOS的相关知识学起,但是这条入门之路我思量了一下并不适合我,因为相比来说,我更熟悉XAML,我最初买的是刘铁猛的《深入浅出WPF》,这本书只有300来页,用了一个月的时间看完了,然后找了一个相关的工作做WPF的客户端开发,在此期间买了林政的《深入浅出windows phone 8.1 应用开发》给公司开发了半个WinPhone APP(开发完了没上商店,我想很多人也有同样WP开发的经历),后来也做了Silverlight的相关的开发工作,所以呢(这个转折有点大),我可以肯定的告诉大家熟悉WPF或者Silverlight对你学习Xamarin.Forms是有很大的帮助的,当然你熟悉WP的开发也不错,以前我不知道Android的Activity(其他的三个组件没细看),最近我就看了下这个,其实就是传说中的页面周期(妈蛋,我都不知道为什么要起个名字叫Activity,外行人表示懵逼)。好了,废话就哔哔这么多,还是写点什么东西,让大神们来鄙视鄙视。。。。。。顺便提高自己!最后呢,我想说的是:好吧,我承认了解Android的一些基础知识是很有帮助的,大家多少还是了解下,不说精通至少得知道那是什么,干什么的,在项目中看到了不会懵逼。

  从哪里开始呢???嗯,我们先新建一个Forms页面吧,什么?你不知道怎么建,好吧,骚年,你赢了,我们一步一步的来。

  新建一个Xamarin.Forms的项目(不知道?兄弟你只有看上一篇了),然后再可移植的项目上点击右键选择添加-->新建项,然后在Cross-Platform中选择Forms Xaml Page(名字取得很随意,大家要淡定),如下:

  

  

  添加完成后,双击打开

  

  如上图,一个完整的<xxxx></xxxx>或者<xxxx />就是一个标签,借用刘铁猛刘大哥的一句话为大家简单说下什么XAML:XAML是一种声明式语言,当你看到一个标签,就意味着声明了一个对象,对象之间的层级关系要么并列、要么包含,全都体现在标签的关系上。用上图的举例就是一个ContentPage对象包含了一个Label对象。

  现在我们来了解几个东西(其实都是命名空间),第一个是xmlns,如果你知道WPF或者Silverlight的话就知道这个的作用等同于using,唯一的区别在于xmlns必须要一个映射名

  如:xmlns:映射名=“xxxx.xxxx.xxxx.....”,就相当于C#中的using 映射名=xxxx.xxxx.xxxx....

  

  现在我们说说xmlns="http://xamarin.com/schemas/2014/forms"这个是什么意思,上头我们才说了xmlns必须有个映射名,为什么这个没有!!!!????这个呢是Xamarin.Forms的核心命名空间,它包含了构建Xamarin.Forms的用户界面的大部分控件类,他没有使用映射名,所以她也就是页面的默认命名空间,好吧,文字描述不是强项,简单的说,不要映射名的被这个给占用了,所以其他的都必须用映射名。当然你也可以在这个的上面加一个映射名像这样:

  

  如果我上面描述的不是很给力,你看这个应该也能了解一点点了撒,如果不了解也没关系,毕竟XAML的命名空间写书的话是可以写一章来进行讲解的,这里呢都是简单的说一下。

  接着说,xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"这个就是XAML的命名空间,包含XAML的使用特性,简单描述,举个例子,我们新建一个记事本,保存的时候都可以选择UTF-8,还是Union等编码方式,这个的作用就相当于这个编码方式,再简单点就是这个XAML的符合微软2009的XAML规范,好吧,我学艺不精,感觉总是不能描述的太清楚,还是看图吧

  

  好吧,前两个就说到这里,希望对大家有帮助,如果还比较模糊,不怪你,怪我,你也可以在看看上面的两张图,看下w和h写的地方再理解理解。

  继续x:Class="FormsTest01.From_01",这个我就真的简单说了,x:Class="xxxx.xxxx"就是告诉我们这个XAML要与哪个类合并

  

  命名空间就说到这儿。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

  

  如果你想学习Xamarin.Forms,希望你能找书,找博客等等去系统的学习下XAML,这是基础,你必须得会,不然没得谈,还有MVVM。。。用四川话讲就是XAML相关的那一啪啦。

Xamarin.Forms学习之XAML命名空间的更多相关文章

  1. Xamarin.Forms学习之Platform-specific API和文件操作

    这篇文章的分享原由是由于上篇关于Properties的保存不了,调用SavePropertiesAsync()方法也不行,所以我希望通过操作文件的方式保存我的需要的数据,然后我看了一下电子书中的第二十 ...

  2. Xamarin.Forms 学习系列之底部tab

    App中一般都会有一个底部tab,用于切换不同的功能,在Xamarin中应该制作底部tab了,需要把Android的TabbedPage做一次渲染,IOS的则不用,接下来说下详细步骤: 1.在共享项目 ...

  3. Xamarin.Forms学习之位图(二)

    上篇文章分享了如何加载网络图片和PCL中的图片,所以今天继续分享关于如何加载平台的内嵌图片,在这之前说一下上篇文章开头的一个问题:为什么不能加载UWP项目,这是因为我升级了UWP的SDK,而Xamar ...

  4. Xamarin.Forms学习之Page Navigation(一)

    在最初接触Xamarin.Forms的时候,我是跟着Xamarin官方的名为“learning-xamarin-ebook”的pdf文档进行学习的,我在成功运行Hello world程序之后,我开始跟 ...

  5. Xamarin.Forms学习之初

    微软的Build 2016结束的有段时间了,对于一个简单的小屌丝程序员--我来说,关注最大的无疑是Xamarin的免费(开源什么的让大神们上吧),内心激动啊.大会结束的周末我就迫不及待的安装了,然后. ...

  6. Xamarin.Forms学习系列之Android集成极光推送

    一般App都会有消息推送的功能,如果是原生安卓或者IOS集成消息推送很容易,各大推送平台都有相关的Sample,但是关于Xamarin.Forms的消息推送集成的资料非常少,下面就说下Xamarin. ...

  7. Xamarin.Forms学习系列之Syncfusion 制作图形报表

    Syncfusion是一家微软生态下的第三方组件/控件供应商,除了用于HTML5和JavaScript的控件外,他们产品还涉及如下领域: WEB ASP.NET MVC ASP.NET WebForm ...

  8. Xamarin.Forms 学习系列之优秀UI收集

    1.各种优秀UI例子 https://github.com/jsuarezruiz/xamarin-forms-goodlooking-UI 输入框例子 https://github.com/enis ...

  9. Xamarin.Forms学习系列之SQLite

    在App中我们通常不会实时获取服务器数据,会在用户手机中保存历史数据,这个时候就需要用到数据库SQLite,由于微软的封装,在Xamarin中操作SQLite非常简单,类似EF的操作. 1.我们需要在 ...

随机推荐

  1. 利用pandas进行数据分析之ndarray结构

    Numpy的重要特点就是其N维数组对象, 1.ndarray每个元素是相同的,每个数组都有一个两个对象: .shape:用于表示维度大小的元组 .dtype:用户表示数组类型的对象 2.创建数组 ar ...

  2. js获取本页的来源地址

    document.referrer 该属性可以获取到文档的载入地址 需要注意必须是通过改变localtion的href属性或a标签跳转才能获取到 否者将获取到空字符串

  3. php中的匿名函数的注意事项

    在php5.3以后,php加入匿名函数的使用,今天在使用匿名的时候出现错误,不能想php函数那样声明和使用,详细看代码 $callback=function(){ return "aa&qu ...

  4. Mybatis(二):Mybatis的映射文件sqlmapper详解

    MyBatis 真正的力量是在映射语句中.这里是奇迹发生的地方.对于所有的力量,SQL 映射的 XML 文件是相当的简单.当然如果你将它们和对等功能的 JDBC 代码来比较,你会发现映射文件节省了大约 ...

  5. OSI与TCP/IP你了解多少?

    刚开始接触计算机的时候,非常好奇数据是怎样传输的,通过后期的学习逐步了解了计算机的通信原理.相信很多人在学习计算机的时候,首先入门的第一门课就是计算机的通信原理,而通信原理又离不开两大参考模型:OSI ...

  6. vue实现结账单基本方法

    <script> import axios from 'axios'; export default { name: 'Pos', mounted: function () { var o ...

  7. cp实现无提示覆盖拷贝

    在我们使用cp批量拷贝时,即使使用cp -rf ,遇到需要覆盖时,也是需要确认是否覆盖的. 解决办法1: 我们使用alias看一下别名设置会发现这样一行 alias cp='cp -i' 意思就是使用 ...

  8. NSCondition(转)

    NSConditionLock 继承类NSObject 遵从的协议NSLocking NSObject NSConditionLock 类定义特定的.用户定义的条件锁 协议NSLocking 方法 l ...

  9. Discuz! X 插件开发手册

      文件命名规范 Discuz! 按照如下的规范对程序和模板进行命名,请在设计插件时尽量遵循此命名规范: 可以直接通过浏览器访问的普通程序文件,以 .php 后缀命名. 被普通程序文件引用的程序文件, ...

  10. Android 混淆完全解析

    1.http://blog.csdn.net/jddkdd2/article/details/8858909