【发布时间】:2022-12-18 06:39:17
【问题描述】:
出于某种原因,我根本无法让它工作。我从各种来源了解到,我可以在 WPF 应用程序中覆盖 OnStartup,它会在应用程序创建时触发。但是,无论我做什么,都没有发生任何事情。这是代码。
public partial class App : Application
{
protected override void OnStartup(StartupEventArgs e)
{
// My code goes here, but nothing ever happens.
base.OnStartup(e);
}
}
显然我错过了一些东西。遗憾的是,MSDN 页面也没有提供太多信息。 http://msdn.microsoft.com/en-us/library/system.windows.application.onstartup.aspx
我究竟做错了什么?
编辑:
事实证明,我的问题是命名空间中的一个小错字。 App.xaml.cs 将类定义为“RTDMyApp.App”,App.xaml 文件将其称为“RTD_MYApp.App” 无论如何,这个事实,结合下面接受的答案让我回到正轨.
【问题讨论】:
-
如果您使用“step into”命令启动 VS,会发生什么?
-
尝试在 base.OnStartup(e) 之后使用您的代码;
-
该应用程序是否正常启动(除了您的代码未运行)还是出现异常?另外,您是否尝试过在 app.xaml 中明确注册 Startup 事件?
-
我在 VS 2010 中尝试过一个快速的 WPF 项目,我可以很好地覆盖 OnStartup。如果您同时发布项目中的 App.xaml 和 App.xaml.cs 文件,我或许可以为您提供帮助。
-
@Ingo:如果永远不会调用 OnStartup,这应该如何改变?