为什么没有调用Application.OnStartup?

时间:2011-05-05 04:58:25

标签: c# wpf .net-4.0

我有一个WPF .NET 4应用程序,我在其中覆盖OnStartup方法,以便处理传递给我的应用程序的文件。但是,似乎在应用程序运行时不会调用此方法。我在那里放了一个例外,甚至是一个断点,它启动并完全忽略了这一点。

我错过了什么吗?

App.xml.cs的代码:

/// <summary>
/// Interaction logic for App.xaml
/// </summary>
public partial class App : Application
{
    protected override void OnStartup(StartupEventArgs e)
    {
        throw new NotImplementedException();
    }
}

App.xaml的内容:

<Application x:Class="XGN_Image_Downloader.App"
         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
         StartupUri="MainWindow.xaml">
<Application.Resources>

</Application.Resources>
</Application>

编辑:找到了! App.xaml中的x:Class属性与App.xaml.cs类不匹配:)这就是你在喝葡萄酒时编码的结果。 (感谢这个主题:WPF app startup problems

2 个答案:

答案 0 :(得分:20)

找到它,我必须将App.xaml中的x:Class属性设置为与App.xaml.cs类相同的类。这是由于我身边的重构不好造成的错误。

答案 1 :(得分:0)

x:Class必须用App.xml.cs上的名称空间和确切的类名填充

例如:<Application x:Class="Namespace.ClassName"