如何在 WPF 中定义我自己的主方法



我想重写 WPF 中的原始主方法。

我想在 origina main 方法的开头添加内容。 怎么办?

似乎必须在App.xaml.cs文件中完成,但仍然不知道如何实现它。

我不相信你可以,直接。设计师介绍了自己的Main方法。

您可以做的是使用 Main 方法创建自己的单独类,该方法又会在您需要时调用 App.Main

using System;
namespace AppWithCustomMain
{
    class CustomMain
    {
        [STAThread]
        static void Main()
        {
            Console.WriteLine("CustomMain!");
            App.Main();
        }
    }
}

然后将项目属性中的"启动对象"构建设置设置为 CustomMain ,它应该首先调用您的 Main 方法,而该方法又会调用 App.Main

但是,这是假设您确实需要先于其他任何事情进入。通常,您要么订阅Application.Startup事件,要么覆盖Application子类中的Application.OnStartup

你可以在App类中引入一个新的Run()-方法(是的,你是对的 - 它必须在App.xaml.cs内完成 - ,制作你的东西,然后调用基本实现:

public partial class App : Application
{
    public new void Run()
    {
        // Do your stuff here
        // Call the base method
        base.Run();
    }
}

你不应该真正覆盖应用程序的 main 方法,如果你想在应用程序启动时调用一个特定的方法,你可以覆盖 App 类的 OnStartup 方法(文件 App.xaml.cs )。

下面是一个示例:

/// <summary>
/// Interaction logic for App.xaml
/// </summary>
public partial class App : Application
{
    protected override void OnStartup(StartupEventArgs e)
    {
        base.OnStartup(e);
        // Your code here
    }
}

相关内容

  • 没有找到相关文章

最新更新