silverlight   发布时间:2022-05-04  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Silverlight 4中XAML解析的变化大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

1. 控件内容直接显示; 相信大家还记得,在Silverlight 3版本中,控件的文本内容,通常都是使用一个属性来表示,例如:   < Code highlighTing produced by Actipro CodeHighlighter (freewarE) http://www.CodeHighlighter.com/ > < TextBox  TEXT ="文本框" > TextBox

1. 控件内容直接@L_696_1@;

相信大家还记得,在Silverlight 3版本中,控件的文本内容,通常都是使用一个属性来表示,例如:

 

<

Code highlighTing produced by Actipro CodeHighlighter (freewarE)
http://www.CodeHighlighter.com/

> <@H_772_34@ @H_616_35@TextBox @H_772_34@ Text@H_772_34@ ="文本框"@H_772_34@ >@H_772_34@ @H_616_35@TextBox@H_772_34@ >@H_772_34@

@H_772_34@ <@H_772_34@ @H_616_35@checkBox @H_772_34@ Content@H_772_34@ ="我是 checkBox"@H_772_34@ >@H_772_34@ @H_616_35@checkBox@H_772_34@ >@H_772_34@

@H_772_34@ <@H_772_34@ @H_616_35@TextBlock @H_772_34@ Text@H_772_34@ ="@L_696_1@文本"@H_772_34@ >@H_772_34@ @H_616_35@TextBlock@H_772_34@ >@H_772_34@

@H_772_34@ <@H_772_34@ @H_616_35@Button @H_772_34@ Content@H_772_34@ ="点击 提交"@H_772_34@ >@H_772_34@ @H_616_35@Button@H_772_34@ >@H_772_34@

 

 

而以上的表达方式和WPF的XAML语法表达方式是不一致的,项目移植时会出现异常。在Silverlight 4中,XAML在支持Silverlight 3版本格式的同时,还增加了新的表示方法,如下:

 

<

Code highlighTing produced by Actipro CodeHighlighter (freewarE)
http://www.CodeHighlighter.com/

> <@H_772_34@ @H_616_35@TextBox@H_772_34@ >@H_772_34@ 文本框@H_772_34@ @H_616_35@Button@H_772_34@ >@H_772_34@

@H_772_34@ <@H_772_34@ @H_616_35@checkBox@H_772_34@ >@H_772_34@ 我是 checkBox@H_772_34@ @H_616_35@checkBox@H_772_34@ >@H_772_34@

@H_772_34@ <@H_772_34@ @H_616_35@TextBlock@H_772_34@ >@H_772_34@ @L_696_1@文本@H_772_34@ @H_616_35@TextBlock@H_772_34@ >@H_772_34@

@H_772_34@ <@H_772_34@ @H_616_35@Button@H_772_34@ >@H_772_34@ 点击提交@H_772_34@ @H_616_35@Button@H_772_34@ >@H_772_34@

 

 

2. 文本空格@L_696_1@控制

在Silverlight 3中,XAML语法解析@L_696_1@文本空格,当输入文本如下代码

 

<

Code highlighTing produced by Actipro CodeHighlighter (freewarE)
http://www.CodeHighlighter.com/

>   @H_772_34@ <@H_772_34@ @H_616_35@Grid @H_772_34@ x:Name@H_772_34@ ="LayoutRoot"@H_772_34@ >@H_772_34@
        @H_772_34@ <@H_772_34@ @H_616_35@TextBox@H_772_34@ >@H_772_34@

            @H_772_34@ <@H_772_34@ @H_616_35@TextBox.Text@H_772_34@ >@H_772_34@

                这 是Silverlight 3

          China测试程序

          测试空格.

            @H_772_34@ @H_616_35@TextBox.Text@H_772_34@ >@H_772_34@

        @H_772_34@ @H_616_35@TextBox@H_772_34@ >@H_772_34@
    @H_772_34@ @H_616_35@Grid@H_772_34@ >@H_772_34@

 

则@L_696_1@结果如下:

 

Silverlight 4中XAML解析的变化

 

而在Silverlight 4中,XAML语法解析器允许开发人员控制文本空格的输出,在支持Silverlight 3版本格式下,进行了改进。如以上相同代码,在Silverlight 4中@L_696_1@效果如下:

 

Silverlight 4中XAML解析的变化

 

如果你想在Silverlight 4中实现Silverlight 3的输出效果,可以使用Xml:space="Preserve",即可。

 

<

Code highlighTing produced by Actipro CodeHighlighter (freewarE)
http://www.CodeHighlighter.com/

>   @H_772_34@ <@H_772_34@ @H_616_35@Grid @H_772_34@ x:Name@H_772_34@ ="LayoutRoot"@H_772_34@ >@H_772_34@
        @H_772_34@ <@H_772_34@ @H_616_35@TextBox @H_772_34@ xml:space@H_772_34@ ="preserve"@H_772_34@ >@H_772_34@

            @H_772_34@ <@H_772_34@ @H_616_35@TextBox.Text@H_772_34@ >@H_772_34@

                这是Silverlight 3

          China 测试程序

          测试空格.

            @H_772_34@ @H_616_35@TextBox.Text@H_772_34@ >@H_772_34@

        @H_772_34@ @H_616_35@TextBox@H_772_34@ >@H_772_34@
    @H_772_34@ @H_616_35@Grid@H_772_34@ >@H_772_34@

 

 

3. 支持XAML自定义IDictionaries

Silverlight 3中,x:Key仅支持添加对象资源如下:

<

Code highlighTing produced by Actipro CodeHighlighter (freewarE)
http://www.CodeHighlighter.com/

> <@H_772_34@ @H_616_35@object.resources@H_772_34@ >@H_772_34@
  @H_772_34@ <@H_772_34@ @H_616_35@object @H_772_34@ x:Key@H_772_34@ ="StringKeyValue"@H_772_34@ ...@H_772_34@ />@H_772_34@
@H_772_34@ @H_616_35@object.resources@H_772_34@ >@H_772_34@

 

在Silverlight 4中,允许开发人员添加任何类型和属性的成员到Dictionary。这对于复杂的XAML项目有很大的帮助,无论是性能上,还是使用上。详细请看 MSDN:http://msdn.microsoft.com/en-us/library/cc189012(VS.95).aspx

 

<

Code highlighTing produced by Actipro CodeHighlighter (freewarE)
http://www.CodeHighlighter.com/

> <@H_772_34@ @H_616_35@customIDictionary@H_772_34@ >@H_772_34@
  @H_772_34@ <@H_772_34@ @H_616_35@object @H_772_34@ x:Key@H_772_34@ ="StringKeyValue"@H_772_34@ ...@H_772_34@ />@H_772_34@
@H_772_34@ @H_616_35@customIDictionary@H_772_34@ >@H_772_34@

 

 

4. 命名空间的引用简洁化

在Silverlight早期版本,如果使用不同的类库或者是使用不@R_836_11197@的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中XAML解析的变化所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。