1.什么是XAML?

官方语言:

XAML是eXtensible Application Markup Language的英文缩写,相应的中文名称为可扩展应用程序标记语言,它是微软公司为构建应用程序用户界面而创建的一种新的描述性语言。

人话:

XAML是一种界面开发语言,跟英语、中文一样,不过人家是用来开发界面的啦~

具体长什么样呢?如下图

2.为什么需要XAML?

随着大众审美的提升,对软件界面要求也严格了很多,这就避免不了程序员和设计师的合作。

合作一般是这样开展:

1.需求分析结束后,程序猿按照需求分析对照需求设计一个出版界面(很low的那种),然后精力主要放在功能开发上。

2.与此同时,设计师对照需求,考虑用户体验,使用专门的设计工具(PS啦),设计出高大上的界面。

3.最后,猿们按照设计师的要求,使用编程语言实现软件的UI。

但是,你懂的,理想跟现实往往有所差距,这样的合作经常会出现“沟通问题”,谁说需求就不会变的。。需求一变,嘿嘿。。

不是设计师跟不上逻辑变更,就是程序员未能完整按照设计员的要求实现界面,这无关对错,

只是"合作的成本就不可能为零"--猛哥经典语录。

所以为了减少合作成本,有一种解决方案,就是将上述的串行,改为并行,也就是说,无需等待上一个人的完成,而是设计师和猿

同步开发。所以就创造了这牛批的界面开发语言---XML.

原来的创作思路是网络程序开发,可以使用HTML、CSS、JS直接生成UI,程序员则在此基础上进行开发,所以为了把这种模

式从网络端移植到桌面应用程序,XAML诞生啦(是不是能理解为什么XAML很像xml和Html了~)。

3.XAML有哪些基础知识?

然后我们了解一下XAML基础

XAML文档中的每个元素都映射为.NET类的一个实例。元素名称也完全对应于类名,如Button,即为Button对象,且支持嵌套。

像上图的Grid(网格)里面就可以嵌套其他元素。

我们一起来解析上面的文档截图。包含有<Window>元素和<Grid>元素,这两个都是顶级元素,可以放置所有控件。

所有XAML文档都只能有一个顶级元素。上述文档的意思就是创建一个标题为Window1的窗口,中间放置一个Grid,然后Grid中嵌套

一个Button。

接下来的就有小伙伴好奇了,xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"这么长的一串是啥?

这其实是XAML的名称空间,xmlns专门用来声明名称空间,包含了所有WPF类,包括用来构建用户界面的控件。

可以大致理解成URI指明网站的路径亦或者文件夹路径。在使用visual studio创建WPF项目时会自动创建几条默认引用的名称空间。

最新文章

  1. 【小错误】Device eth2 has different MAC address than expected, ignoring.
  2. Odoo创建数据库时出现的问题 DataError: new encoding (UTF8) is incompatible with the encoding of the template database (SQL_ASCII)
  3. sqlserver卡号段分组
  4. HttpHandler中无法使用Session(context.Session 为Null)
  5. 【转】ORACLE日期时间 等函数大全
  6. VB php JAVA关于数据库连接数过多的解决方法
  7. 东软实训1 -jsp内置对象及其常用方法
  8. NPOI mvc easyui 根据Excel模板 生成Excel
  9. Spring mybatis源码篇章-MybatisDAO文件解析(一)
  10. As a Start - 毫厘之间,宇宙之外
  11. Linux下安装jmeter
  12. ZOJ-2750 Idiomatic Phrases Game---Dijk最短路
  13. pytest 13 使用自定义标记mark
  14. MQTT----物联网常用的消息队列协议
  15. tomcat9 点击bin目录下的startup.bat一闪而过
  16. 【总文档】rac增加新节点的方法步骤 How to Add Node/Instance or Remove Node/Instance in 10gR2, 11gR1, 11gR2 and 12c Oracle Clusterware and RAC
  17. 关于PCB的线宽与过孔
  18. HttpWebRequest HttpClient
  19. swift UITextfield 添加点击方法 - 简单实现
  20. 利用Aspose.BarCode生成条码

热门文章

  1. 版本控制比较cvs,svn,git
  2. java.util.Collections
  3. JAVA静态代理和动态代理理解
  4. linux 下socket编程
  5. linux下 shell时间处理
  6. vue 过滤器 filter 的使用
  7. ArrayDeque API 与算法分析
  8. Flutter 应用入门:计数器
  9. jenkins 构建历史 显示版本号
  10. 【Linux】云服务器部署宝塔linux控制面板环境