文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>Silverlight3学习笔记(2):Silverli..

Silverlight3学习笔记(2):Silverli..

时间:2010-09-13  来源:周金桥

 
在上一篇中讲述了如何安装适合自己需要的VS2010以及相关帮助文档,由于在VS2010中帮助文档的查询方式不同于以往的VS,在上篇中还介绍了H3Viewer这个软件,它是一个免费的软件,安装它之后可以在安装了VS2010帮助文档之后以类似于以前查看MSDN的方式查看帮助文档。除此之外,在上一篇还比较了几种常见的RIA技术,比如Java Applet、Flash及Silverlight,以及它们与普通Windows应用程序在运行机制上的区别和限制。在这一篇开始涉及到Silverlight了,这一篇主要是讲Silverlight的开发工具VS2010以及XAML语言等知识。
创建Silverlight项目
当我们创建一个Silverlight项目时会提示是否创建一个承载项目,如下图所示:
由于在VS2010中已经直接支持创建ASP.NET MVC2的Web项目,所以承载Silverlight的Web项目类型有三种:ASP.NET Web应用程序项目、ASP.NET 网站及ASP.NET MVC Web应用程序项目。ASP.NET Web应用程序项目可以提供与Visual Studio .NET 2003 Web 项目相同的 Web 项目语义,它的编译模型与 Visual Studio .NET 2003 编译模型类似。项目中的所有代码文件(独立文件、代码隐藏文件以及类文件)将被编译成单个程序集并存储在 Bin 目录中。由于编译会创建单个程序集,因此可以指定程序集名称和版本等属性。如果我们仅仅是开发Silverlight的话,这个可以随便选择一种类型,以便能在网页中查看Silverlight的运行效果。
VS2010界面
创建Silverlight项目成功之后可以看到如下的界面:
在VS2010中可以直接从工具箱中向Silverlight界面中拖控件。在开发ASP.NET时一个页面会分为两部分.aspx.cs和.cs,前者包含了设计代码,后者则是包含业务逻辑代码,和ASP.NET开发一样,Silverlight的项目中每个控件或者页面也是分为.xaml和.xaml.cs,.xaml代码也是包含设计代码,.xaml.cs则是包含业务逻辑代码。在每个Silverlight项目中默认会有一个app.xaml文件,这个文件有点类似于WinForm项目中的program.cs类,包含了项目启动时的设置,在创建一个Silverlight项目成功后app.xam.cs的代码如下:
 
  1. using System;  
  2. using System.Collections.Generic;  
  3. using System.Linq;  
  4. using System.Net;  
  5. using System.Windows;  
  6. using System.Windows.Controls;  
  7. using System.Windows.Documents;  
  8. using System.Windows.Input;  
  9. using System.Windows.Media;  
  10. using System.Windows.Media.Animation;  
  11. using System.Windows.Shapes;  
  12.  
  13. namespace SilverlightDemo1  
  14. {  
  15.     public partial class App : Application  
  16.     {  
  17.  
  18.         public App()  
  19.         {  
  20.             this.Startup += this.Application_Startup;  
  21.             this.Exit += this.Application_Exit;  
  22.             this.UnhandledException += this.Application_UnhandledException;  
  23.  
  24.             InitializeComponent();  
  25.         }  
  26.  
  27.         private void Application_Startup(object sender, StartupEventArgs e)  
  28.         {  
  29.             this.RootVisual = new MainPage();  
  30.         }  
  31.  
  32.         private void Application_Exit(object sender, EventArgs e)  
  33.         {  
  34.  
  35.         }  
  36.  
  37.         private void Application_UnhandledException(object sender, ApplicationUnhandledExceptionEventArgs e)  
  38.         {  
  39.             // 如果应用程序是在调试器外运行的,则使用浏览器的  
  40.             // 异常机制报告该异常。在 IE 上,将在状态栏中用一个   
  41.             // 黄色警报图标来显示该异常,而 Firefox 则会显示一个脚本错误。  
  42.             if (!System.Diagnostics.Debugger.IsAttached)  
  43.             {  
  44.  
  45.                 // 注意: 这使应用程序可以在已引发异常但尚未处理该异常的情况下  
  46.                 // 继续运行。   
  47.                 // 对于生产应用程序,此错误处理应替换为向网站报告错误  
  48.                 // 并停止应用程序。  
  49.                 e.Handled = true;  
  50.                 Deployment.Current.Dispatcher.BeginInvoke(delegate { ReportErrorToDOM(e); });  
  51.             }  
  52.         }  
  53.  
  54.         private void ReportErrorToDOM(ApplicationUnhandledExceptionEventArgs e)  
  55.         {  
  56.             try 
  57.             {  
  58.                 string errorMsg = e.ExceptionObject.Message + e.ExceptionObject.StackTrace;  
  59.                 errorMsg = errorMsg.Replace('"''\'').Replace("\r\n", @"\n");  
  60.  
  61.                 System.Windows.Browser.HtmlPage.Window.Eval("throw new Error(\"Unhandled Error in Silverlight Application " + errorMsg + "\");");  
  62.             }  
  63.             catch (Exception)  
  64.             {  
  65.             }  
  66.         }  
  67.     }  
可以在Application_Startup()方法中通过设置RootVisual属性来指定启动那个页面作为Silverlight的启动界面。
关于XAML
在Silverlight中使用XAML作为Silverlight的界面设计语言,XAML是一种特殊的XML格式(就像XHTML也是一种特殊的XML格式一样),现在我们不用太关注它,经过以后的练习就会慢慢理解XAML语言的特点。下面是一个普通的XAML页面代码:
 
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载