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 。
浙公网安备 33010602011771号