Beispiel #1
0
        /// <summary>
        /// Constructor for the Application object.
        /// </summary>
        public App()
        {
            // Global handler for uncaught exceptions.
            UnhandledException += Application_UnhandledException;

            // Standard XAML initialization
            InitializeComponent();

            // Phone-specific initialization
            InitializePhoneApplication();

            // Language display initialization
            InitializeLanguage();

            // Show graphics profiling information while debugging.
            if (Debugger.IsAttached)
            {
                // Display the current frame rate counters.
                Application.Current.Host.Settings.EnableFrameRateCounter = true;

                // Show the areas of the app that are being redrawn in each frame.
                //Application.Current.Host.Settings.EnableRedrawRegions = true;

                // Enable non-production analysis visualization mode,
                // which shows areas of a page that are handed off to GPU with a colored overlay.
                //Application.Current.Host.Settings.EnableCacheVisualization = true;

                // Prevent the screen from turning off while under the debugger by disabling
                // the application's idle detection.
                // Caution:- Use this under debug mode only. Application that disables user idle detection will continue to run
                // and consume battery power when the user is not using the phone.
                PhoneApplicationService.Current.UserIdleDetectionMode = IdleDetectionMode.Disabled;
            }

            // Intialize main data model.
            Main = new MainDataModel();

            // Initialize database
            UserContext = new UserDataContext(userDBConnectionString);
            UserContext.CreateIfNotExists();

            // Register for Device Network status changes
            DeviceNetworkInformation.NetworkAvailabilityChanged += DeviceNetworkInformation_NetworkAvailabilityChanged;

            // Register for notifications
            NotificationService.Default.Register<AccessTokenMessage>(OnAccessTokenMessage);
            NotificationService.Default.Register<NetworkDetectionMessage>(OnNetworkDetectionMessage);
            NotificationService.Default.Register<ToastMessage>(OnToastMessage);
            NotificationService.Default.Register<DialogMessage>(OnDialogMessage);
            NotificationService.Default.Register<ConfirmDialogMessage>(OnConfirmDialogMessage);
            NotificationService.Default.Register<PinnedForumQuery>(OnPinnedForumQuery);
        }