XAML:修订间差异

来自站长百科
跳转至: 导航、​ 搜索
无编辑摘要
无编辑摘要
第1行: 第1行:
[[Image:XAML.jpg|right|300px|thumb|代码范例]]
[[Image:XAML.jpg|right|300px|thumb|代码范例]]
'''XAML''' 是eXtensible Application Markup Language的英文缩写,相应的中文名称为可扩展[[应用程序]][[标记语言]],它是[[微软]]公司为构建应用程序用户界面而创建的一种新的描述性语言。XAML提供了一种便于扩展和定位的语法来定义和[[程序]]逻辑分离的用户界面,而这种实现方式和[[ASP.NET]]中的"[[代码后置]]"模型非常类似。也就是说在开发一个应用程序时,我们可以将开发工作分成开发人员和设计人员两个团体分别进行,各自负责后台[[程序]][[代码]]逻辑和前台程序界面的设计,这样就使得开发人员和设计人员之间的协作更通畅,也极大地发挥了他们的专长。  
'''XAML'''   是eXtensible Application Markup Language的英文缩写,相应的中文名称为可扩展[[应用程序]][[标记语言]],它是[[微软]]公司为构建应用程序用户界面而创建的一种新的描述性语言。XAML提供了一种便于扩展和定位的语法来定义和[[程序]]逻辑分离的用户界面,而这种实现方式和[[ASP.NET]]中的"[[代码后置]]"模型非常类似。也就是说在开发一个应用程序时,我们可以将开发工作分成开发人员和设计人员两个团体分别进行,各自负责后台[[程序]][[代码]]逻辑和前台程序界面的设计,这样就使得开发人员和设计人员之间的协作更通畅,也极大地发挥了他们的专长。  


XAML本质上属于一种[[.NET]] Programming Language,属于通用语言运行时(Common Language Runtime),同[[C#]]、[[VB.NET]]等同。与[[HTML]]类似,特点是用来描述用户界面。XAML的语法格式为:<Application... />,Application是必备的基本元素。XAML可以定义[[2D]] 和 [[3D]] [[对象]]、旋转(rotations)、动画(animations),以及各式各样的效果。
XAML本质上属于一种[[.NET]] Programming Language,属于通用语言运行时(Common Language Runtime),同[[C#]]、[[VB.NET]]等同。与[[HTML]]类似,特点是用来描述用户界面。XAML的语法格式为:<Application... />,Application是必备的基本元素。XAML可以定义[[2D]] 和 [[3D]] [[对象]]、旋转(rotations)、动画(animations),以及各式各样的效果。


== XAML与HTML区分 ==
== XAML与HTML的区分 ==
*XAML并不是HTML,尽管XAML在元素的声明、程序样式的设置和指定事件处理程序上都和HTML非常类似,但是XAML是基于XML的,它是[[WPF]]的外在表现形式。
*XAML并不是HTML,尽管XAML在元素的声明、程序样式的设置和指定事件处理程序上都和HTML非常类似,但是XAML是基于XML的,它是[[WPF]]的外在表现形式。
*HTML主是一种标记语言,仅仅是用来为浏览器呈现页面内容。XAML除了用来呈现信息和请求用户输入等基本的功能外,它还包含了一些高级的特性,例如它提供了对动画和3D众多方面的支持。   
*HTML主是一种标记语言,仅仅是用来为浏览器呈现页面内容。XAML除了用来呈现信息和请求用户输入等基本的功能外,它还包含了一些高级的特性,例如它提供了对动画和3D众多方面的支持。   


*XAML是可扩展的,正如它的名字指明的那样。开发人员可以创建自定义的控件、元素和函数来扩展XAML。而且由于XAML各元素在本质上就是WPF类的[[映射]],所以开发人员可以很轻松地使用面向对象的技术对XAML元素进行扩展。也就是说我们可以开发一些自定义控件和组合元素,并将它公开给用户界面设计人员和其它的开发人员使用。   
*XAML是可扩展的,正如它的名字指明的那样。开发人员可以创建自定义的控件、元素和函数来扩展XAML。而且由于XAML各元素在本质上就是WPF类的[[映射]],所以开发人员可以很轻松地使用面向对象的技术对XAML元素进行扩展。也就是说我们可以开发一些自定义控件和组合元素,并将它公开给用户界面设计人员和其它的开发人员使用。
  
*XAML、[[Windows]] Presentation Foundation 和 Microsoft [[.NET Framework]] 3.0 XAML 是 [[Microsoft]]&reg; Windows Presentation Foundation (WPF) 的一部分。WPF 是 Microsoft&reg; .NET Framework 3.0 中处理基于 [[Windows]] 的应用程序或基于 [[Web]] [[浏览器]]的[[客户端]]应用程序的可视外观的一类功能。基于 WPF 的应用程序可以在 Windows [[Vista]]? 上运行,也可以在安装了 Microsoft .NET Framework 3.0(如果是基于 Web 浏览器的客户端应用程序,还需要安装 [[Internet]] Explorer 7.0)的早期版本的 Windows 上运行。
*XAML、[[Windows]] Presentation Foundation 和 Microsoft [[.NET Framework]] 3.0 XAML 是 [[Microsoft]]&reg; Windows Presentation Foundation (WPF) 的一部分。WPF 是 Microsoft&reg; .NET Framework 3.0 中处理基于 [[Windows]] 的应用程序或基于 [[Web]] [[浏览器]]的[[客户端]]应用程序的可视外观的一类功能。基于 WPF 的应用程序可以在 Windows [[Vista]]? 上运行,也可以在安装了 Microsoft .NET Framework 3.0(如果是基于 Web 浏览器的客户端应用程序,还需要安装 [[Internet]] Explorer 7.0)的早期版本的 Windows 上运行。
== 相关应用 ==
== 相关应用 ==
WPF 借助 XAML 来利用标记而不是[[编程]]语言(如 C#)来构造精美逼真的用户界面 (UI)。您可以通过定义控件、文本、图像、形状、动画等各种元素,完全采用 XAML 来制作详尽的 [[UI]] 文档。由于 XAML 是声明性语言(类似于 HTML),因此如果需要向应用程序中添加运行时逻辑,则需要添加代码。例如,如果应用程序仅使用 XAML,您不仅可以创建并动态显示 UI 元素,还可以对这些元素加以配置令其以受限方式响应用户输入(通过使用事件触发器)。但是,在不添加代码的情况下,该应用程序将不能执行和响应计算,也不能自行创建新的 UI 元素。XAML 应用程序的代码存储在不同于 XAML 文档的单独文件中。这种将 UI 设计与基础代码相脱离的方式,使得开发人员和设计人员能够更加密切地合作完成同一个项目,而不会延误各自的进度。
WPF 借助 XAML 来利用标记而不是[[编程]]语言(如 C#)来构造精美逼真的用户界面 (UI)。可以通过定义控件、文本、图像、形状、动画等各种元素,完全采用 XAML 来制作详尽的 [[UI]] 文档。由于 XAML 是声明性语言(类似于 HTML),因此如果需要向应用程序中添加运行时逻辑,则需要添加代码。例如,如果应用程序仅使用 XAML,您不仅可以创建并动态显示 UI 元素,还可以对这些元素加以配置令其以受限方式响应用户输入(通过使用事件触发器)。但是,在不添加代码的情况下,该应用程序将不能执行和响应计算,也不能自行创建新的 UI 元素。XAML 应用程序的代码存储在不同于 XAML 文档的单独文件中。这种将 UI 设计与基础代码相脱离的方式,使得开发人员和设计人员能够更加密切地合作完成同一个项目,而不会延误各自的进度。
== 使用优点 ==
== 使用优点 ==
#XAML是一种解析性的语言,尽管它也可以被[[编译]]。微软推荐XAML被编译成BAML(Binary Application Markup Language-[[二进制]]语言程序标记语言)。XAML和BAML都可以被WPF解析,并且将以一种和HTML相似的方式进行界面的呈现。但是和HTML不同的是,XAML是强类型化的。也就是说,HTML会忽略那些它不能识别的元素和属性,而XAML必须在识别所有的元素和属性的情况下,才对页面进行呈现。尽管在XAML中各个属性都是以一个个的字符串(例如Background)表示的,但是这些字符串实际上代表的是WPF中的对象,只有被WPF识别的对象才可以作为元素的属性,所有我们说XAML是强类型化的。
#XAML是一种解析性的语言,尽管它也可以被[[编译]]。微软推荐XAML被编译成BAML(Binary Application Markup Language-[[二进制]]语言程序标记语言)。XAML和BAML都可以被WPF解析,并且将以一种和HTML相似的方式进行界面的呈现。XAML必须在识别所有的元素和属性的情况下,才对页面进行呈现。尽管在XAML中各个属性都是以一个个的字符串(例如Background)表示的,但是这些字符串实际上代表的是WPF中的对象,只有被WPF识别的对象才可以作为元素的属性,所有我们说XAML是强类型化的。
#XAML简化了.Net Framework 3.0 编程模式上的用户界面创建过程,使用XAML开发人员可以对WPF程序的所有用户界面元素(例如文本、按钮、图像和列表框等)进行详细的定置,同时还可以对整个界面进行合理化的布局,这与使用HTML非常相似。但是由于XAML是基于XML的,所以它本身就是一个组织良好的XML文档,而且相对于HTML,它的语法更严谨、更明确。预计以后大部分的XAML都可由相应的软件自动生成,就如同我们现在制作一个静态页面时,几乎不用编写任何HTML代码就可以直接通过[[Dreamweaver]][[软件]]生成一个美观的页面。但是最初通过手动编写XAML代码将是一次绝佳的学习体验,虽然实现的过程繁杂了些,但是将加深您对XAML语法和各个元素的理解。  
#XAML简化了.Net Framework 3.0 编程模式上的用户界面创建过程,使用XAML开发人员可以对WPF程序的所有用户界面元素(例如文本、按钮、图像和列表框等)进行详细的定置,同时还可以对整个界面进行合理化的布局,这与使用HTML非常相似。但是由于XAML是基于XML的,所以它本身就是一个组织良好的XML文档,而且相对于HTML,它的语法更严谨、更明确。
#预计以后大部分的XAML都可由相应的软件自动生成,就如同我们现在制作一个静态页面时,几乎不用编写任何HTML代码就可以直接通过[[Dreamweaver]][[软件]]生成一个美观的页面。但是最初通过手动编写XAML代码将是一次绝佳的学习体验,虽然实现的过程繁杂了些,但是将加深您对XAML语法和各个元素的理解。  
== 在应用程序中发挥的作用 ==
== 在应用程序中发挥的作用 ==
您可以从 Microsoft&reg; Expression&reg; Design 中将美术资源导出为 XAML,然后将该 XAML 作为资源导入到 Expression Blend 中,以便在 Expression Blend 项目中利用这些资源。其他一些设计应用程序也提供了各种将美术资源转换为 XAML 的工具。您可以在 [[Internet]] 上搜索受信任的站点所发布的转换工具。
您可以从 Microsoft&reg; Expression&reg; Design 中将美术资源导出为 XAML,然后将该 XAML 作为资源导入到 Expression Blend 中,以便在 Expression Blend 项目中利用这些资源。其他一些设计应用程序也提供了各种将美术资源转换为 XAML 的工具。您可以在 [[Internet]] 上搜索受信任的站点所发布的转换工具。

2011年4月1日 (五) 20:37的版本

代码范例

XAML 是eXtensible Application Markup Language的英文缩写,相应的中文名称为可扩展应用程序标记语言,它是微软公司为构建应用程序用户界面而创建的一种新的描述性语言。XAML提供了一种便于扩展和定位的语法来定义和程序逻辑分离的用户界面,而这种实现方式和ASP.NET中的"代码后置"模型非常类似。也就是说在开发一个应用程序时,我们可以将开发工作分成开发人员和设计人员两个团体分别进行,各自负责后台程序代码逻辑和前台程序界面的设计,这样就使得开发人员和设计人员之间的协作更通畅,也极大地发挥了他们的专长。

XAML本质上属于一种.NET Programming Language,属于通用语言运行时(Common Language Runtime),同C#VB.NET等同。与HTML类似,特点是用来描述用户界面。XAML的语法格式为:<Application... />,Application是必备的基本元素。XAML可以定义2D3D 对象、旋转(rotations)、动画(animations),以及各式各样的效果。

XAML与HTML的区分

  • XAML并不是HTML,尽管XAML在元素的声明、程序样式的设置和指定事件处理程序上都和HTML非常类似,但是XAML是基于XML的,它是WPF的外在表现形式。
  • HTML主是一种标记语言,仅仅是用来为浏览器呈现页面内容。XAML除了用来呈现信息和请求用户输入等基本的功能外,它还包含了一些高级的特性,例如它提供了对动画和3D众多方面的支持。   
  • XAML是可扩展的,正如它的名字指明的那样。开发人员可以创建自定义的控件、元素和函数来扩展XAML。而且由于XAML各元素在本质上就是WPF类的映射,所以开发人员可以很轻松地使用面向对象的技术对XAML元素进行扩展。也就是说我们可以开发一些自定义控件和组合元素,并将它公开给用户界面设计人员和其它的开发人员使用。
  
  • XAML、Windows Presentation Foundation 和 Microsoft .NET Framework 3.0 XAML 是 Microsoft® Windows Presentation Foundation (WPF) 的一部分。WPF 是 Microsoft® .NET Framework 3.0 中处理基于 Windows 的应用程序或基于 Web 浏览器客户端应用程序的可视外观的一类功能。基于 WPF 的应用程序可以在 Windows Vista? 上运行,也可以在安装了 Microsoft .NET Framework 3.0(如果是基于 Web 浏览器的客户端应用程序,还需要安装 Internet Explorer 7.0)的早期版本的 Windows 上运行。

相关应用

WPF 借助 XAML 来利用标记而不是编程语言(如 C#)来构造精美逼真的用户界面 (UI)。可以通过定义控件、文本、图像、形状、动画等各种元素,完全采用 XAML 来制作详尽的 UI 文档。由于 XAML 是声明性语言(类似于 HTML),因此如果需要向应用程序中添加运行时逻辑,则需要添加代码。例如,如果应用程序仅使用 XAML,您不仅可以创建并动态显示 UI 元素,还可以对这些元素加以配置令其以受限方式响应用户输入(通过使用事件触发器)。但是,在不添加代码的情况下,该应用程序将不能执行和响应计算,也不能自行创建新的 UI 元素。XAML 应用程序的代码存储在不同于 XAML 文档的单独文件中。这种将 UI 设计与基础代码相脱离的方式,使得开发人员和设计人员能够更加密切地合作完成同一个项目,而不会延误各自的进度。

使用优点

  1. XAML是一种解析性的语言,尽管它也可以被编译。微软推荐XAML被编译成BAML(Binary Application Markup Language-二进制语言程序标记语言)。XAML和BAML都可以被WPF解析,并且将以一种和HTML相似的方式进行界面的呈现。XAML必须在识别所有的元素和属性的情况下,才对页面进行呈现。尽管在XAML中各个属性都是以一个个的字符串(例如Background)表示的,但是这些字符串实际上代表的是WPF中的对象,只有被WPF识别的对象才可以作为元素的属性,所有我们说XAML是强类型化的。
  2. XAML简化了.Net Framework 3.0 编程模式上的用户界面创建过程,使用XAML开发人员可以对WPF程序的所有用户界面元素(例如文本、按钮、图像和列表框等)进行详细的定置,同时还可以对整个界面进行合理化的布局,这与使用HTML非常相似。但是由于XAML是基于XML的,所以它本身就是一个组织良好的XML文档,而且相对于HTML,它的语法更严谨、更明确。
  3. 预计以后大部分的XAML都可由相应的软件自动生成,就如同我们现在制作一个静态页面时,几乎不用编写任何HTML代码就可以直接通过Dreamweaver软件生成一个美观的页面。但是最初通过手动编写XAML代码将是一次绝佳的学习体验,虽然实现的过程繁杂了些,但是将加深您对XAML语法和各个元素的理解。

在应用程序中发挥的作用

您可以从 Microsoft® Expression® Design 中将美术资源导出为 XAML,然后将该 XAML 作为资源导入到 Expression Blend 中,以便在 Expression Blend 项目中利用这些资源。其他一些设计应用程序也提供了各种将美术资源转换为 XAML 的工具。您可以在 Internet 上搜索受信任的站点所发布的转换工具。

相关条目

参考来源