Silverlight 4 初试 - Hello World

来源:互联网 发布:淘宝店铺图片轮播 编辑:程序博客网 时间:2024/06/03 19:24

   Hello World作为所有编程语言的起始阶段,占据着无法改变的地位,Silverlight当然也不例外。今天就写个Silverlight版的hello world,来入下门。正式发起攻势啦,!!

    1,启动 Visual Studio 2010。

    2,新建一个项目File -> New -> Project

      

        3,因为我是C#开发,因此在选中Visual C# -> Silverlight,从其中选择个Silverlight项目中的模板,在这里先选择Silverlight Navigation  Application 导航应用程序并起个名字为HelloWorld,点击OK。

       

   

              如上图:选择用于承载 Silverlight 应用程序的方法。

              a,你不想使用网站来承载 Silverlight 应用程序,请取消选中"在新网站中承载 Silverlight 应用程序"复选框。而后,将会生成 HTML 测试页以承载应用程序。

              b,你想要在解决方案中添加一个单独的 ASP.NET 网站或 ASP.NET Web 应用程序项目,以承载 Silverlight 应用程序,就选中"在新网站中承载 Silverlight 应用程序"复选框。如果选择此选项,还必须指定"新的 Web 项目名称""新的 Web 项目类型"

             Silverlight版本当然是4啦。再点OK,项目就生成了。

 

     

  4,项目结构

     项目创建完了,你将会看到类似下面的内容:

    

    

     a,Assets/Views文件夹–他们包含了素材(文件、图片、样式表等等)以及你的应用程序的其它一些用户界面。

     b,app.xaml,Silverlight 应用程序需要使用 App 类来显示应用程序用户界面,这是Silverlight应用程序的入口,相当于java的mian方法。

        c,MainPage.xaml,可以使用 MainPage 类来创建 Silverlight 应用程序的用户界面。

     d,ClientBin文件夹,当你编译了解决方案你将会发现在Web应用程序的ClientBin文件夹下面多出了一个以XAP为扩展名的文件。这是编译完成了的Silverlight应用程序。它其实是一个文档(又称ZIP),只不过扩展名不同。如果你把它的扩展名改成.ZIP并用工具打开,你可以看见其中的内容。XAP文件被送至你的浏览器。这个文件承载在Web服务上并被传给终端用户。XAP文件通过<object>标签承载在基础HTML页面上。(注意:Silverlight是客户端技术,并能承载在任何Web服务器上。可以是任何能推送XAP文件并具有从服务端正确解析MIME类型能力的服务器(application/x-silverlight-app)。只要能做到这点,我们并不在意推送XAP文件的服务器是什么类型的)。

     e,ASP.NET和HTML的测试页已经为你创建了基础的模板,本质上是相同的。

    f,Silverlight.js,一个 JavaScript 帮助器文件,其中包含用于初始化 Silverlight 插件实例的函数和用于确定客户端上的已安装插件版本的函数。

    g,Web.config文件,网站配置文件。

 

    5,我选择的模板是导航应用程序模板,也就说它自带了导航功能。你查看Views文件夹你将会发现一个About.xaml文件、一个ErrorWindows.xaml文件以及一个Home.xaml文件。现在让我们把注意力集中在Home.xaml上,因为它是程序读入的第一个视图。双击打开文件你将看见Visual Studio读入了XAML。

     接着我在Home.xaml页面中的第二个TextBlock后面,添加一个按钮

     <Button Content="Click me" Height="23" Name="clickme" Width="75" />,这将会使得在视图中的Home page content的文字区域下方显示一个按钮。再为这个按钮加个事件,让其拥有被点击时,修改页面上Home的值为Hello World。

    控件修改成<Button Content="Click me" Height="23" Name="clickme" Width="75" Click="clickme_Click"  />     最后在Home.xaml.cs页面直接用代码写一个事件处理器:

 

     private void clickme_Click(object sender, RoutedEventArgs e)
     {
          HeaderText.Text = "Hello Word!!!";
     } 

     完成以后我们通过F5来运行程序,可以看到点击按钮以后文本框的内容被改变了:

 

   这是VS2010内置的服务器生成的结果,符合预期。

 

  7,将Silverlight程序部署到ISS5.1上。因为我的系统是XP SP3,所以只能装ISS5.1了。 

   选中项目中的HelloWorld.Web,单击右键,选中弹出菜单中的Publish

  

   因为是在本机开发,因此Publish method选中File System选项即可,点击Target Location最右边的按钮,选择需要部署的位置,假定我们要发布到缺省的网站下面,就可以做出如下选择:

  

   点击Open按钮,得到

 

 

  

 

  点击Publish按钮,就行了。

  看看效果,在ISS管理器上启动默认网站

  

  再在浏览器输入http://localhost/HelloWorldTestPage.aspx

  

 

成功!!!

最好要配置以下两个类型,我是没配置也可成功了,但在网上看要配置,以后再慢慢研究。

Silverlight网站MIME类型
网站添加如下MIME Types:

.xaml application/xaml+xml
.xap application/x-Silverlight-app

 

在这里被装ISS和配置ISS搞到头爆,错误一大堆,应该是我的系统是Ghost的原因吧,悲剧呀,这里http://kb.cnblogs.com/a/1551734/有些ISS错误总结,可以参考参考。

 

只有实践才是王道,空想只能是个悲剧。

 

原创粉丝点击