品牌网站建设

psd转xhtml/css 88元/页起

  • 符合W3C标准的XHTML/CSS编码
  • 多浏览器及操作平台支持
  • SEO(搜索引擎)语义代码标准
  • 经过优化的和切片图像
  • 结构良好的XHTML/CSS
  • 转换页面越多,折扣越多
更多优惠

手机13146413981qq393992480msnyibing98@hotmail.com

     Silverlight基本架构(XAML基本架构)是一个技术的关键所在,在此分享一些研究心得,理解可能有误,大家凑和着看看吧

XAML结构
        在Silverlight里,XAML作为控件的基本显示布局文件。Silverlight在浏器中只是一个控件角色,也就是浏览器中的一个子控件。而XAML编译后是一个一个UserControl、Grid、Canvas和Panel等容器控件的继承类,此类由客户端浏览器中的Silverlight插件编译,并且调用接口方法。
        XAML是以XML标记语言为基础的。XAML中的父节点必须是一个容器控件,而其它的控件只能在此一个父控件中添加。如果使用了.net类库支持,可以使用XAML中最父节点的x:Class指定命名空间和属性,这个类必须继承其父节点容器控件!

命名空间引用
特殊命名空间:
        默认的http://schemas/microsoft.com/client/2007 标记架构,此包括了所有的WPF标记。
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"动态声明部分,一般指定的是变量
自定义命名空间:
        xmlns:custom="clr-namespace:mynamespace.myclass;assembly=myBin/myassembly.dll"
        说明:xmln:custom冒号后面的custom是开发者自定义的名称,在XAML文档中使用时的前缀。比如XAML引用时可以使用 mynamespace.myclass.c1控件可以使用<custom:c1>来添加类。    
                    mynamespace是DLL中生成时的命我 空间,myclass是类名。assembly是可选项,如果使用的外部动态链接库可以使用assembly制定其URL地址。

Silverlight发布结构
        Silverlight在1.1和2.0 Beta有很大的升级,添加了很多Silverlight控件、完善了需要运行上的机制。其中Visual Studio 2008在生成Silverlight时会把Silverlight Application 生成为一个XAP文件,并由ASP.Net的自定义控件的Source制定!最终到客户端浏览器上同样使用的1.1中的一样,通过JS动态生成 Silverlight object标记。

XAP文件(XAP读为Zap
        在VisualStudio 2008安装SilverlightBeta2 Tools后,VisualStudio会自动把SilverlightApplication 压缩打包为一个XAP文件。可以直接把此文件命名为ZIP并使用解压软件释放此文件,并且你会惊奇的发现其中写的.xaml文件全部生成了一个DLL中了。只有一个AppManifest.xaml中记录着程序加载项、和制定启动类等信息。

Silverlight运行环境

Silverlight.js文件
  此文件由Silvelright SDK提供,可在Blend2新建项目后跟目录下面找到,也可使用VisualStudio中Silverlight模板中找到。他的主要责任就是在浏览器中创建Silverlight的ActiveX插件。并会检测客户端是否有支持版本的Silverlight插件,如果没有找到会输出下载链接代码(在此您可以改不支持时输出的代码)。由不同的浏览器执行和输出不同的代码。并他建一个Silverlight Javascript对象。
一个页面只在需引用一次Silverlight.js文件,您可以打开进行学习javascript脚本语言。页面会在Load以后的调用Silvelright.createObjectEx方法创建Silvelright ActiveX插件。传入对象如下:
        Source:”Page.xaml”,    //指定的XAML和XAP文件URL访问地址
        parentElement:     //要插入的DIV容器对象,
        id:”SilverlightControlID”   //要创建控件的ID
        properties:{
        width:”100%”,    //宽
        height:”100%”,    //高
        version:”1.0”,     //中间会把source+到properties里
        enableHtmlAccess:” true”  //是否Silvelright与浏览器交互,默认true
        };
        Event:{
        onLoad:Silverlight.createDelegate(scene,sene.handleLoad)
        };
Default.html
这个文件是一个HTML页,关联着Silvelright.js文件,在此文档中Onload事件中将调用CreateObjectEx方法,一般VisualStudio和Blend工具会把此代码放入Default.html.js文件中。

最终输出内容
        <object data="data:application/x-silverlight," type="application/x-silverlight-2-b1" width="100%" height="100%">
        <param name="source" value="ClientBin/wpfhomeloadding.xap"/><!--要打开的XAML和XAP文件-->
        <param name="onerror" value="onSilverlightError" /><!--Error事件时触发的方法-->
        <param name="background" value="white" /><!--背景颜色-->

        <!--如果客户端没有安装Silverlight出现的安装信息--> 
        <a href="http://go.microsoft.com/fwlink/?LinkID=108182" style="text-decoration: none;">
        <img src="http://go.microsoft.com/fwlink/?LinkId=108181" alt="Get Microsoft Silverlight" style="border-style: none"/>
        </a>

        </object>

Comments

Add comment


 

biuquote
  • Comment
  • Preview
微笑得意调皮害羞酷大笑惊讶发呆喜欢可怜尴尬闭嘴噘嘴皱眉伤心抓狂呕吐坏笑漫骂发怒
Loading



订阅新易网博客

  • 订阅到抓虾
  • 哪吒提醒
  • pageflakes
  • Add to My Yahoo!
  • Add to Google
  • 鲜果阅读器订阅图标
  • 订阅到有道阅读
  • 用QQ邮箱阅读空间订阅我的博客。
专业设计 量身定制 品牌网站建设 体验价只需999元
.me 我要我的域名 新网域名 260元/年 再送空间100M
[清仓] 俞兆林 黄金甲保暖内衣加厚加绒女士/男士保暖内衣
免费推广您的网站或产品 互换广告位、友情连接、软文

Recent comments