大家好,我又悄咪咪的来了,在上一篇的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. 序列化和反序列化Java 8的时间/日期类

    序列化 假如有 Clock 类: public class Clock { private LocalDate localDate; private LocalTime localTime; priv ...

  2. 【BIEE】14_开发流程介绍

    以上是BIEE开发的流程图,通过流程图我们可以看出在BIEE中存在以下主要内容: 仪表盘 仪表盘页 分析 仪表盘提示 主题区域 Catalog RPD 以下是一些文件以及资料库存储路径 资料库存储路径 ...

  3. 转FTP协议详解

    转自:http://www.cnblogs.com/li0803/archive/2010/11/16/1878833.html FTP 是File Transfer Protocol(文件传输协议) ...

  4. poj 2601 Simple calculations

    Simple calculations Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 6559   Accepted: 32 ...

  5. unity, inspector debug

    以前经常因为脚本中private变量不在inspector界面中显示,不方便观察其值的变化,所以本该用private的用了public. 今天发现,原来inspector有个选项,如图,平常勾选的是N ...

  6. 使用CSS3实现响应式标题全屏居中和站点前端性能

    要实现标题全屏居中(同一时候在垂直和水平方向居中).有若干种方法,包含使用弹性布局.表格单元.绝对定位和自己主动外边距等. 全屏居中 当中眼下比較流行也比較easy理解的方法是使用绝对定位+偏移实现. ...

  7. nginx正则说明

    nginx正则说明 分类: nginx -- : 11758人阅读 评论() 收藏 举报 nginx正则表达式firefox ^~ 标识符后面跟一个字符串.Nginx将在这个字符串匹配后停止进行正则表 ...

  8. 微信小程序新建项目完整流程

    最近刚好也在做新的小程序项目,所以有机会给大家整理一个完整的开发流程! 上一篇介绍是如何获得appid,那么接下来就是怎么新建一个全新的小程序项目了 首先:下载最新版的微信开发者工具,支持网页版微信开 ...

  9. Java中List的排序和List的MAp

    这里是一个类中类去实现条件优先排序的问题 package com.sun; import java.util.ArrayList; import java.util.Arrays; import ja ...

  10. javaweb+mysql+c3p0ajax实现三级联动

    1.首先要导入jar文件: c3p0-0.9.5.1.jarcommons-beanutils-1.7.0.jarcommons-collections-3.2.jarcommons-dbutils- ...