Mercurial > silverbladetech
view SilverlightGlimpse/SilverlightGlimpse.Test/App.xaml.cs @ 65:5d0c5cc83a7a
Click event handler added
author | Steven Hollidge <stevenhollidge@hotmail.com> |
---|---|
date | Sun, 22 Apr 2012 14:21:33 +0100 |
parents | 536498832a79 |
children | b0e369f1e948 |
line wrap: on
line source
using System; using System.Windows; using SilverlightGlimpse.Services; //using Glimpse; using System.Reflection; namespace SilverlightGlimpse.Test { public partial class App : Application { public App() { Startup += Application_Startup; Exit += Application_Exit; UnhandledException += Application_UnhandledException; InitializeComponent(); } private void Application_Startup(object sender, StartupEventArgs e) { try { RootVisual = new MainPage(); GlimpseService.CreateInstance.Load(this, Assembly.GetCallingAssembly().FullName); } catch (Exception ex) { GlimpseService.CreateInstance.DisplayLoadFailure(this, ex); } } private void Application_Exit(object sender, EventArgs e) { } private void Application_UnhandledException(object sender, ApplicationUnhandledExceptionEventArgs e) { // If the app is running outside of the debugger then report the exception using // the browser's exception mechanism. On IE this will display it a yellow alert // icon in the status bar and Firefox will display a script error. if (!System.Diagnostics.Debugger.IsAttached) { // NOTE: This will allow the application to continue running after an exception has been thrown // but not handled. // For production applications this error handling should be replaced with something that will // report the error to the website and stop the application. 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) { //TODO: log here } } } }