zoukankan      html  css  js  c++  java
  • Application 类

    VS 并不采用这种模式,而是从Application类中派生一个自定义的类,在派生的自定义类中,放置所有事件处理代码。VS为Application类使用的模型本子上和用于窗口的模式是相同的,七点是一个XAML的模板,默认情况下,被默认为App.xaml

    应用程序的关闭方式 :ShutdownMode

    应用程序事件:

    • Startup:在调用Run方法之后,主窗口显示之前发生;
    • Exit:在应用程序关闭时,在Run方法返回之前发生;
    • SessionEnding:在Windows对话结束时发生,对用户注销或关闭计算机
    • Activated:当应用程序的一个窗口被激活,从其他应用程序切换到当前应用程序
    • Deactivated:当一个应用程序被取消激活,切换到另一个应用程序
    • DispatcherUnhandledException:发生未处理异常触发事件

    有两种选择用于处理这些事件;  

    1. 关联事件的处理程序
    2. 重写相应的受保护的方法:对于每一个应用程序都可以调用相关的方法来引发这个事件。方法的名称就是  On+事件的名称,

    Application 类的任务:

    • 显示初始界面 :设置图片属性为SplashScreen时,在加载主窗体时同时加载图像
    • 处理命令参数行:响应StartUp事件 ——在项目邮件,属性,调试,命令行参数


       

      App.xaml

       private void Application_Startup(object sender, StartupEventArgs e)
              {
                  MainWindow win = new MainWindow();
                  if (e.Args.Length > 0)
                  {
                      string file = e.Args[0];
                      if (File.Exists(file))
                      {
                          win.LoadFile(file);
                      }
                  }
                  win.Show();
              }

      MainWindow

              public void LoadFile(string path)
              {
                  //this.Content = File.ReadAllText(path);
                  this.TextBlock.Text = System.IO.File.ReadAllText(path);
                  this.Title = path;
              }
    • 访问当前Application对象
      通过静态对象的Common属性,可以在任何地方获取当前应用程序实例,从而实现窗口的交互。(任何对象都可以访问Application对象并通过Application对象获取主窗口的引用)
    • 在窗口之间切换

     

     单实例应用程序 :通过Wapper实现,具体见 gitHub项目。

    https://github.com/Springxi/Demo.WPFLearning

     
  • 相关阅读:
    设计模式二(建造者、原型、桥接)
    MSSQL根据表名动态分页的存储过程以及C#.net调用使用
    查询身份证号码信息(C#.NET)
    初试三层+抽象工厂代码生成器
    NET多线程与异步编程
    【SQL.SERVER.DMVS.实战】学习笔记
    【SQL.SERVER.DMVS.实战】学习笔记(二)
    SQL Server 2005数据文件数据的存储
    ASP.NET第九天加强课程
    ASP.NET第四天加强课程
  • 原文地址:https://www.cnblogs.com/codinghard/p/15680454.html
Copyright © 2011-2022 走看看