大家好,我又悄咪咪的来了,在上一篇的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. grid 布局 等比例

    <!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8&quo ...

  2. java 方法传参方式: 按值调用

    程序设计语言中将参数传递给方法的几种方式: 按名调用(call by name): Algol 语言采用此方式, 已成为历史; 按值调用(call by value): 方法接收到的是调用者提供的 变 ...

  3. 【Datastage】NULL VALUE TO A NOT NULL VALUE

    使用ds是报错如上图: 造成这个问题的原因是: 在写SQL时候没有给字段别名与DS中对应一致 例如有下表: CREATE TABLE DataInfo( ID_1 ), ID_2 ) ) CREATE ...

  4. Oculus rift DK2 新手使用设置

    为了获得更好的3D沉浸感体验,降低使用晕眩的可能性,使用DK2前,一定要针对使用者自身对DK2进行正确的设置.下面解释一下配置面板的一些参数和意义: Eye Relief滑竿应该和你的DK2两侧的调节 ...

  5. iOS 自定义转场动画浅谈

    代码地址如下:http://www.demodashi.com/demo/11612.html 路漫漫其修远兮,吾将上下而求索 前记 想研究自定义转场动画很久了,时间就像海绵,挤一挤还是有的,花了差不 ...

  6. sql笔记 获取指定数据库下的所有表

    SELECT Name FROM 数据库名称..SysObjects Where XType='U' ORDER BY Name XType='U' 标识查询用户创建的表 S为系统创建的表

  7. partial(类型)(C# 参考)

    通过分部类型可以定义要拆分到多个文件中的类.结构或接口. 如下: 在 File1.cs 中: namespace PC { partial class A { ; void MethodA() { } ...

  8. Atitit.js的键盘按键事件捆绑and事件调度

    Atitit.js的键盘按键事件捆绑and事件调度 1. Best的方法还是 objEvtMap[ id+evt ]=function(evt,element) 2. Event bind funct ...

  9. Atitit.木马病毒 webftp 的原理跟个设计

    Atitit.木马病毒 webftp 的原理跟个设计 ftp木马的效果 文件传播 文件列表 文件内容查看 作者::  ★(attilax)>>> 绰号:老哇的爪子 ( 全名::Att ...

  10. cURL命令行工具请求网页

    http://curl.haxx.se/download.html curl非常博大,用户要想使用好这个工具,除了详细学习参数之外,还需要深刻理解http的各种协议与URL的各个语法. 这里推荐几个读 ...