对silverlight程序文件的认识

来源:互联网 发布:零基础学java要多长时间 编辑:程序博客网 时间:2024/06/12 00:33

silverlight的程序由两部门组成,一个是silverlight的库,别一个是承载这个库的程序(网页,窗体程序)

 

silverlight启动的时候是从app.xaml中开始,这个文件类似于C#别的program.cs这个文件。

C#项目是从main 函数中开始执行的而silverlight则是从

 private void Application_Startup(object sender, StartupEventArgs e)
        {
            this.RootVisual = new MainPage();
        }

这个事件开始,类似 windows服务的开始方式

 

下面这段是silverlight程序退出时执行的代码

 

 private void Application_Exit(object sender, EventArgs e)
        {

        }

 

下面这段是silverlight程序遇到错误向页面抛错误信息

        private void Application_UnhandledException(object sender, ApplicationUnhandledExceptionEventArgs e)
        {
            // 如果应用程序是在调试器外运行的,则使用浏览器的
            // 异常机制报告该异常。在 IE 上,将在状态栏中用一个
            // 黄色警报图标来显示该异常,而 Firefox 则会显示一个脚本错误。
            if (!System.Diagnostics.Debugger.IsAttached)
            {

                // 注意: 这使应用程序可以在已引发异常但尚未处理该异常的情况下
                // 继续运行。
                // 对于生产应用程序,此错误处理应替换为向网站报告错误
                // 并停止应用程序。
                e.Handled = true;
                Deployment.Current.Dispatcher.BeginInvoke(delegate { ReportErrorToDOM(e); });
            }
        }

 

下面这段还没弄明白是干什么的

        private void ReportErrorToDOM(ApplicationUnhandledExceptionEventArgs e)
        {
            try
            {
                string errorMsg = e.ExceptionObject.Message + e.ExceptionObject.StackTrace;
                errorMsg = errorMsg.Replace('"', '/'').Replace("/r/n", @"/n");

                System.Windows.Browser.HtmlPage.Window.Eval("throw new Error(/"Unhandled Error in Silverlight Application " + errorMsg + "/");");
            }
            catch (Exception)
            {
            }
        }

 

这些就是我安装上silverlight后了解到的东西,下一篇写第一个silverlight程序

原创粉丝点击