什么代码控制WPF应用程序的启动?

时间:2011-03-25 09:05:57

标签: .net wpf

更具体地说,我怎么能在WPF中setup a startup sequence like this one开始时没有显示窗口,但是存在通知图标?

2 个答案:

答案 0 :(得分:14)

要运行,WPF需要一个Application对象。当您对该对象执行Run时,应用程序进入无限循环:事件循环负责处理用户输入和任何其他操作系统信号。

换句话说,你可以在WPF应用程序中包含一个自定义Main函数就好了;它只需要看起来像这样:

[STAThread]
public static void Main(string[] args) {
    //include custom startup code here

    var app = new MyApplication();//Application or a subclass thereof
    var win = new MyWindow();//Window or a subclass thereof
    app.Run(win); //do WPF init and start windows message pump.
}

这是一篇关于使用这种方法的一些问题的文章:The Wpf Application class: Overview and Gotcha。特别是,您可能希望设置Application.ShutdownMode之类的内容。这种方法让您可以在任何WPF代码运行之前随意做任何事情 - 但更重要的是,我希望它能够阐明WPF应用程序的启动方式。

答案 1 :(得分:9)

从App.xaml文件的StartupUri根标记中删除Application属性,并在Application.Startup事件处理程序中添加要执行的代码。