Application的关闭方法
Application中的重要事件
设置程序启动闪屏
Application类杂项
- 设置程序初始化页面,引入图片并修改生成属性为SplashScreen
- 设置应用程序图标
- Application类可以在任何窗体间进行访问,使用Application.Current类,允许全局的访问
- 建议UI层的众多配置,可以独立的配置类,存在Application类中,便于全局的访问和使用
- 在窗体交互过程中,只使用窗体提供的方法,事件或字段,而不该直接使用代码访问其属性,字段,控件。
- 应用程序单列实现
- 方法1: 启动时通过进程类检查是否有相同进程名称的进程,如果有则不启动;
方法2:使用旧版本WindowsFormsApplicationBase 进行包装【WPF团队推荐方案】,如下所示:
public class SingleInstanceApplicationWrapper : WindowsFormsApplicationBase
{
private SignleInstanceApp WpfApp;
public SingleInstanceApplicationWrapper()
{
IsSingleInstance = true;
}
protected override bool OnStartup(Microsoft.VisualBasic.ApplicationServices.StartupEventArgs eventArgs)
{
SplashScreen splashScreen = new SplashScreen("image/09.jpg");
splashScreen.Show(true);
WpfApp = new WpfLearningOne.SignleInstanceApp();
WpfApp.Run();
return false;
}
}
程序集资源
将图片,文本等放入项目后,自动会转换成程序集资源
- 查找资源可以使用
- Application.GetResourceStream方法,其中的Uri资源,可以使用相对路径进行查找new Uri(“CommonControler/CommonContentWindow.xaml”, UriKind.Relative)
- 使用packURI,可以查找其他应用程序集资源
- pack://appliaction:, , , /Images/test.jpg 查找本程序集中的资源
- pack://appliaction:, , , /AssemblyName/Images/test.jpg 查找其他
- 针对可替换的,文件比较大的,声音或视频资源,可以使用文件的Content属性,设置Copy属性为Copy Always