Silverlight 4中XAML解析的变化

简介:



 
自项目转换到Silverlight 4后,经常会在开发过程中发现一些变动,有类库引用的改变,有XAML的改变等等,这些变化不仅仅给开发人员带来了便携的开发方式,同时也提高了开发效率。今天,总结一些Silverlight 4中XAML解析的变化。
 
1. 控件内容直接显示;
相信大家还记得,在Silverlight 3版本中,控件的文本内容,通常都是使用一个属性来表示,例如:
 
< TextBox  Text ="文本框" ></ TextBox >

< CheckBox  Content ="我是CheckBox" ></ CheckBox >

< TextBlock  Text ="显示文本" ></ TextBlock >

< Button  Content ="点击提交" ></ Button >
 
 
而以上的表达方式和WPF的XAML语法表达方式是不一致的,项目移植时会出现异常。在Silverlight 4中,XAML在支持Silverlight 3版本格式的同时,还增加了新的表示方法,如下:
 
< TextBox > 文本框 </ Button >

< CheckBox > 我是CheckBox </ CheckBox >

< TextBlock > 显示文本 </ TextBlock >

< Button > 点击提交 </ Button >
 
 
2. 文本空格显示控制
在Silverlight 3中,XAML语法解析显示文本空格,当输入文本如下代码:
 
   < Grid  x:Name ="LayoutRoot" >
        
< TextBox >

            
< TextBox.Text >

                这是Silverlight 3

          China测试程序

          测试空格.

            
</ TextBox.Text >

        
</ TextBox >
    
</ Grid >
 
则显示结果如下:
 
 
而在Silverlight 4中,XAML语法解析器允许开发人员控制文本空格的输出,在支持Silverlight 3版本格式下,进行了改进。如以上相同代码,在Silverlight 4中显示效果如下:
 
 
如果你想在Silverlight 4中实现Silverlight 3的输出效果,可以使用xml:space="Preserve",即可。
 
   < Grid  x:Name ="LayoutRoot" >
        
< TextBox  xml:space ="preserve" >

            
< TextBox.Text >

                这是Silverlight 3

          China测试程序

          测试空格.

            
</ TextBox.Text >

        
</ TextBox >
    
</ Grid >
 
 
3. 支持XAML自定义IDictionaries
Silverlight 3中,x:Key仅支持添加对象资源如下:
< object.Resources >
  
< object  x:Key ="stringKeyValue" ... />
</ object.Resources >
 
在Silverlight 4中,允许开发人员添加任何类型和属性的成员到Dictionary。这对于复杂的XAML项目有很大的帮助,无论是性能上,还是使用上。详细请看MSDN: http://msdn.microsoft.com/en-us/library/cc189012(VS.95).aspx
 
< customIDictionary >
  
< object  x:Key ="stringKeyValue" ... />
</ customIDictionary >
 
 
4. 命名空间的引用简洁化
在Silverlight早期版本,如果使用不同的类库或者是使用不同版本的Silverlight Toolkit,开发人员必须在每个页面头部定义指定的命名空间。Silverlight 4中,支持XmlnsDefinitionAttribute映射指定命名空间类库,允许开发人员定义统一的共享名称,方便类库命名空间引用,减少代码输入。详细可以参考MSDN: http://msdn.microsoft.com/en-us/library/system.windows.markup.xmlnsdefinitionattribute(v=VS.95).aspx
 
5. XAML错误异常输入
在早期Silverlight开发过程中,XAML异常信息提示是最薄弱,也是Silverlight官方论坛投诉最多的一部分。Silverlight 4中增加许多XAML异常错误信息提示,以及具体错误信息描述,这点和WPF开发环境很相似。
 
相信Silverlight 4中XAML的解析变化还有很多,如果您在开发中有所领悟,希望您能够分享给我,我会继续更新本文,让更多朋友了解Silverlight 4.

本文转自 冷秋寒 51CTO博客,原文链接:http://blog.51cto.com/kevinfan/324572 ,如需转载请自行联系原作者

相关文章
|
API 图形学 Windows
艾伟:Silverlight 3 Beta 新特性解析(2)-Graphics篇
前提条件: 阅读本文之前请确认你已经安装了如下软件 Visual Studio 2008 (Express) SP1 Silverlight 3 Tools For Visual Studio Microsoft Expression Blend 3 MIX 09 Preview   ...
988 0
|
C#
艾伟_转载:WPF/Silverlight陷阱:XAML自定义控件的嵌套内容无法通过名称访问
为了说明这个问题,假定我们需要实现一个具有特殊功能的按钮控件。编写Xaml文件如下: Button> 对 Code Behind类,唯一的改动是把向导生成的基类从UserControl改成Button: public partial class XamlButton : Button{    ...
1046 0
|
Web App开发 SQL 关系型数据库
一起谈.NET技术,Silverlight与PostgreSQL数据库的互操作(CURD完全解析)
  今天将为大家介绍如何让Silverlight使用PostgreSQL作为后台数据库以及CURD操作。   准备工作    1)建立起测试项目    细节详情请见强大的DataGrid组件[2]_数据交互之ADO.NET Entity Framework——Silverlight学习笔记[10]。
973 0

推荐镜像

更多