【发布时间】:2011-06-10 12:46:23
【问题描述】:
由于某种原因,我根本无法让它工作。我从各种来源中读到,我可以在 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 中明确地重新启动启动事件?
-
我在 VS 2010 中尝试了一个快速的 WPF 项目,我可以很好地覆盖 OnStartup。如果您同时发布项目中的 App.xaml 和 App.xaml.cs 文件,我可能会为您提供帮助。
-
@Ingo:如果 OnStartup 从未被调用,这应该如何改变?