Window类的继承树:

  Object   ---DispatcherObject(abstract) ---- Application----DependencyObject---Visual(abstract)---UIElement---Control--Window  .在一个程序中你只能创建一个Application对象,在创建Window对象之前先创建Application对象。application对象的Run()方法一旦被调用,就不会返回,直到最后一个窗口关闭为止,故Application对象的Run()要放在最后调用。可以直接将Window对象作为参数传给Run()。

   例:  using  System.Windows;

          using System.Windows.Input;

         using System;

 

        namespace xiaohai.Example

            {

             class AnExample:Application

                    {

                        [STAThread]

                       public static void Main()

                        {

                                  AnExample app=new AnExample();

                                  app.Run();

                              }

                     protected override void OnStartup(StartupEventArgs args)

                         {

                            Window winMain=new Window();

                              winMain.Title="Main Window";

                                 winMain.Show();

                         }

                    }

 

               

application对象的两个重要方法OnStartup(StartupEventArgs args)与OnSessionEnding(SessionEndingCancelEventArgs args)  负责处理Startup事件与SessionEnding事件(注:程序必须编译成Windows Application 而非Console Application)

   application对象的ShutDownMode属性决定程序结束的模式,它有三个值供选择:OnMainWindowClose . OnLastWindowClose (默认值)与     OnExplicitShutDown 。