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

     
  • 相关阅读:
    ENVI【遥感图像预处理之图像的几何校正】
    ENVI数据显示操作【Tools菜单操作1】
    ENVI软件操作【数据显示操作——Overlay菜单操作】
    ENVI软件操作之【数据的显示操作】
    ADO.NET操作数据库(一)
    ASP.Net之数据绑定
    动态网页的建立
    VS2010安装异常中断后无法安装的解决方法(安装时发生严重错误)
    linux vi 删除多行的方法
    简单实现异步编程promise模式
  • 原文地址:https://www.cnblogs.com/codinghard/p/15680454.html
Copyright © 2011-2022 走看看