更具体地说,我怎么能在WPF中setup a startup sequence like this one开始时没有显示窗口,但是存在通知图标?
答案 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事件处理程序中添加要执行的代码。