using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Navigation;
using System.Windows.Shapes;
using Microsoft.Phone.Controls;
using Microsoft.Phone.Shell;
namespace MicroBlogForWP7
{
public partial class App : Application
{
public PhoneApplicationFrame RootFrame { get; private set; }
/// <summary>
/// 构造应用程序的对象
/// </summary>
public App()
{
//执行未处理的异常
UnhandledException += Application_UnhandledException;
//初始化Silverlight
InitializeComponent();
//应用程序特定的初始化
InitializePhoneApplication();
//调试显示的视图化信息
if (System.Diagnostics.Debugger.IsAttached)
{
//显示当前的帧速率计数器。
Application.Current.Host.Settings.EnableFrameRateCounter = false;
//显示应用程序正在在每个帧重绘的区域。
Application.Current.Host.Settings.EnableRedrawRegions = false;
//允许非生产分析的可视化模式,
//这表明,交给了一个彩色套印到GPU的页面区域。
Application.Current.Host.Settings.EnableCacheVisualization = false;
//禁用应用空闲检测,由设置的UserIdleDetectionMode属性
//应用的PhoneApplicationService对象为Disabled。
//注意: - 这只是调试模式下使用。禁用用户空闲检测的应用程序将继续运行
//和消耗电池电量,当用户不使用手机。
PhoneApplicationService.Current.UserIdleDetectionMode = IdleDetectionMode.Disabled;
}
}
//要执行的代码应用程序启动时(例如,从“开始”)
private void Application_Launching(object sender, LaunchingEventArgs e)
{
}
//要执行的代码的应用程序被激活时(回到应用程序激活状态)
private void Application_Activated(object sender, ActivatedEventArgs e)
{
}
//应用程序关闭时要执行的代码(后台运行失去激活)
private void Application_Deactivated(object sender, DeactivatedEventArgs e)
{
}
//代码执行应用程序时关闭(例如,用户关闭)
private void Application_Closing(object sender, ClosingEventArgs e)
{
}
//如果导航失败
private void RootFrame_NavigationFailed(object sender, NavigationFailedEventArgs e)
{
if (System.Diagnostics.Debugger.IsAttached)
{
System.Diagnostics.Debugger.Break();
}
}
//执行未处理的异常
private void Application_UnhandledException(object sender, ApplicationUnhandledExceptionEventArgs e)
{
if (System.Diagnostics.Debugger.IsAttached)
{
System.Diagnostics.Debugger.Break();
}
}
#region Phone application initialization
//避免重复初始化
private bool phoneApplicationInitialized = false;
private void InitializePhoneApplication()
{
if (phoneApplicationInitialized)
return;
RootFrame = new PhoneApplicationFrame();
RootFrame.Navigated += CompleteInitializePhoneApplication;
//处理导航故障
RootFrame.NavigationFailed += RootFrame_NavigationFailed;
//确保不再次进行初始化
phoneApplicationInitialized = true;
}
private void CompleteInitializePhoneApplication(object sender, NavigationEventArgs e)
{
//设置根视觉,以允许应用程序来呈现
if (RootVisual != RootFrame)
RootVisual = RootFrame;
//不再需要时删除此处理程序
RootFrame.Navigated -= CompleteInitializePhoneApplication;
}
#endregion
}
}
Windows Phone开发之App文件讲解
最新推荐文章于 2021-05-27 11:30:10 发布