ZZ:使用.NET语言开发Silverlight应用程序入门(一):了解项目结构

news/2024/6/30 11:23:04
(本文转载自Silverlight上海开发团队Blog,是“使用.NET语言开发Silverlight应用程序入门”系列之第一篇。
转自http://blog.csdn.net/SilverlightShanghai/archive/2007/09/23/1796794.aspx
如果有对于Silverlight技术本身的疑问,看法,意见,建议,或者是对于希望看到Blog的内容有建议,请访问
http://blog.csdn.net/SilverlightShanghai,留下你的宝贵意见)


使用.NET语言开发Silverlight应用程序入门之一:了解项目结构

今天先让我们从 Silverlight应用程序的.NET项目结构开始,看一下这样的一个项目中包含了些什么文件,这些文件分别是用来做什么的。了解这些内容有助于我们 将来根据自己的需要制作更为复杂的项目内容。在开始介绍之前,请务必安装Silverlight 1.1 Alpha Refresh。

无论是Silverlight 1.0还是1.1版本,一个Silverlight项目总是包含以下几种文件:

  1. 嵌入Silverlight应用程序的html文件。
  2. 用来执行Silverlight应用程序载入工作的JavaScript文件。
  3. 定义和描述应用程序界面的XAML文件。

如果是.NET的项目,界面描述中所定义的新类型都包含在程序集(assembly)文件中。

我 们可以用Microsoft Expression Blend 2 (目前最新的预览版本是September Preview)或者Visual Studio 2008 Beta2 (需安装好Silverlight Tool Alpha)来创建一个新.NET的项目。创建成功后,我们就可以看到一个Silverlight的.NET项目包含了如下的目录结构:

  1. References目录
    查 看该目录,我们可以看到其中包含了许多 (.dll)文件,这些文件定义了项目中所引用的各托管类型。如果我们要使用其他自定义的类型,就可能需要手动添 加包含该类型定义的.dll文件。 若Silverlight插件中没有包含项目所引用的某些程序集文件,则应用程序用户需要下载这些程序集文件到本地。
  2. Page.xaml
    项目默认的主界面的XAML描述文件。
    • Page.xaml.cs
      每 个xaml文件之后都有一个对应的.NET语言文件。由于我们创建的是C#项目,所以其对应的文件为.cs文件。这个文件对.xaml文件中的所引用的. NET类型做了定义。 通过编译之后,项目会生成程序集文件,供.xaml文件引用,且该程序集文件会随Silverlight应用程序一起下载到用户本地。
  3. Silverlight.js
    该 文件包含了运行Silverlight应用程序之前所必需的各种操作,主要检查用户是否安装了符合版本需求的Silverlight。如果没有安装,则 Silverlight应用程序所在的页面将会显示图标,提示用户先安装插件。这里我们不建议Silverlight的开发设计人员改变该.js文件的内 容。
  4. TestPage.html(Blend 2中创建的文件名为Default.html)
    该文件为项目的默认主页,文件中引入了Silverlight的脚本文件来载入Silverlight应用程序。
    • TestPage.html.js(Blend 2中的文件名为Default_html.js)
      该文件中定义了TestPage.html中调用的CreatSilverlight()方法来载入Silverlight应用程序。

 让我们再具体的看一看其中一些文件所包含的内容:

  • TestPage.html



    Silverlight Project Test Page
    <script type="text/javascript" src="Silverlight.js"></script>
    <script type="text/javascript" src="TestPage.html.js"></script>
   


   
   


        <script type="text/javascript">
            createSilverlight();
        </script>
   



  • TestPage.html.js

//creatSilverlight函数用来执行载入Silverlight应用程序的操作及相关属性
function createSilverlight()
{
 Silverlight.createObjectEx({
  //指定了初始化载入的应用程序页面
  source: "Page.xaml", 
  parentElement: document.getElementById("SilverlightControlHost"),
  id: "SilverlightControl",
  properties: {
   width: "100%",
   height: "100%",
   version: "1.1",
   enableHtmlAccess: "true"
  },
  events: {}
 });
   
 // 下面的函数是默认将键盘焦点集中在Silverlight应用程序上
    document.body.onload = function() {
      var silverlightControl = document.getElementById('SilverlightControl');
      if (silverlightControl)
      silverlightControl.focus();
    }
}

  • Page.xaml



        xmlns="
http://schemas.microsoft.com/client/2007"
        xmlns:x="
http://schemas.microsoft.com/winfx/2006/xaml
      
        Loaded="Page_Loaded" 
      
        x:Class="SilverlightProjectStructure.Page;assembly=ClientBin/SilverlightProjectStructure.dll"

        Width="640"
        Height="480"
        Background="White"
        >

  • Page.xaml.cs

public partial class Page : Canvas
    {
     
   //载入应用程序时的初始化方法,该方法中包含了所有页面初始化是所要做的操作
        public void Page_Loaded(object o, EventArgs e)
        {
            // 初始化变量时,以下方法必不可少
            InitializeComponent();

           //接下来指定其他所需的初始化操作……
       
}
    }





http://www.niftyadmin.cn/n/3658067.html

相关文章

嵌入式系统学习笔记(7)——码制

- ORL是用或实现低四位BCD码和30H的相加&#xff0c;30H就是48&#xff0c;只要事先吧高四位清零&#xff0c;就可以把BCD码变成8位的ASCII码

ZZ:使用.NET语言开发Silverlight应用程序入门(二):界面和对象模型

(本文转载自Silverlight上海开发团队Blog&#xff0c;是“使用.NET语言开发Silverlight应用程序入门”系列之第二篇。转自http://blog.csdn.net/SilverlightShanghai/archive/2007/09/28/1805279.aspx. 如果有对于Silverlight技术本身的疑问&#xff0c;看法&#xff0c;意见&a…

NLP学习笔记(1)

实现word2vec 的方法 direct prediction的两个方法: skip gram模型 这是skip gram模型&#xff0c;中间dx1的向量就是单词的representation vcv_cvc​&#xff0c;Vx1的向量是对所有单词出现在某个单词的语境中的可能性&#xff0c;其中的第o行是uoTvcu_o^Tv_cuoT​vc​&#x…

.NET SDK中CorFlags.Exe的用法

CorFlags是.NET Framework中一个用于查看.NET 可执行文件(PE)的运行参数的非常有用的工具&#xff0c;但是这个工具输出的结果不是特别直观&#xff0c;文档中并没有做出解释&#xff0c;本文将用实际例子解释CORFLAGS的用法。首先我们来看一个一般的情况&#xff0c;随便写一个…

pytong之语音环境:edge-tts and edge-playback

系统平台&#xff1a;windows10 一、安装python3.x 二、安装edge-tts(文本转换为声音文件) 启动windows命令行&#xff08;cmd)&#xff0c;执行如下命令&#xff1a; pip install edge-tts 可能会因为网络的问题出现错误。用ping测试pypi.org是否通畅&#xff1a;ping pyp…

嵌入式系统学习笔记(8)——定时器计数器

定时器计数器的操作是通过对SFR的赋值实现的&#xff0c;定时器计数器的结果是通过对SFR的读取得到的。注意T0和T1并不是16位寄存器而是4个8位寄存器&#xff0c;单片机内部只有一个真正意义上的16位寄存器&#xff1a;DPTR。实际上定时器就是计数器&#xff0c;定时是通过对固…

.NET/Rotor源码研究1补遗 - 解决无法检测操作系统版本的错误

最近不少朋友反映在编译Rotor的时候出现无法检测操作系统版本的错误&#xff0c;具体现象为执行env.bat的时候报错&#xff1a;Could not get platform OS version 出现该错误的原因是env.bat会调用env.core.pl设置环境&#xff0c;而env.core.pl在检测操作系统版本的时候会使用…

.NET Main函数参数解释过程和特殊规则

最近正在准备一个小型开发工具的发布工作&#xff08;具体的内容请容我先卖个关子&#xff0c;等发布之后我会详细给大家介绍的&#xff09;。在使用时不经意中发现&#xff0c;使用.NET开发的命令行工具的对引号和反斜杠 /和一般命令行程序有着不同的解释规则。举例来说&#…